如何根据String的大小自动调整TextView的高度?
How to automatically adjust the TextView height according to the size of the String?
我想知道如何根据String
的长度自动调整TextView
的大小。我从另一个 Intent
获取一些数据作为 String
并将其存储在 TextView
中。如果我让它变小,整个文本将放不下,只会显示一半。如果我为 TextView
留下一个大的 space 它在屏幕上看起来不太好。
我在网上找到的解决方案是使用 extends TextView
并且使用此方法在我的 class 中出现错误,因此我不得不更改很多功能
使用多行TextView并将layout_height
设置为wrap_content
:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="false"/>
注意:如果您将 layout_width
设置为 wrap_content
,它将无法正常工作。如果您不希望 TextView
占据父视图的整个宽度,则可以:
- 在XML或
中将其设置为固定宽度
- 以编程方式设置宽度,或者
- 在
RelativeLayout
中设置layout_alignLeft
/layout_alignRight
等
- 将
layout_width
设置为 0dp
并在 LinearLayout
中使用 layout_weight
如果您正在使用 xml 文件,只需执行此操作,
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="false"/>
如果你想动态地这样做,
TextView textView= new TextView(activity);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textView.setLayoutParams(param);
我想知道如何根据String
的长度自动调整TextView
的大小。我从另一个 Intent
获取一些数据作为 String
并将其存储在 TextView
中。如果我让它变小,整个文本将放不下,只会显示一半。如果我为 TextView
留下一个大的 space 它在屏幕上看起来不太好。
我在网上找到的解决方案是使用 extends TextView
并且使用此方法在我的 class 中出现错误,因此我不得不更改很多功能
使用多行TextView并将layout_height
设置为wrap_content
:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="false"/>
注意:如果您将 layout_width
设置为 wrap_content
,它将无法正常工作。如果您不希望 TextView
占据父视图的整个宽度,则可以:
- 在XML或 中将其设置为固定宽度
- 以编程方式设置宽度,或者
- 在
RelativeLayout
中设置 - 将
layout_width
设置为0dp
并在LinearLayout
中使用
layout_alignLeft
/layout_alignRight
等
layout_weight
如果您正在使用 xml 文件,只需执行此操作,
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="false"/>
如果你想动态地这样做,
TextView textView= new TextView(activity);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textView.setLayoutParams(param);