如何根据String的大小自动调整TextView高度?

时间:2015-05-22 21:18:38

标签: android textview size

我想知道如何根据TextView的长度自动调整String的大小。我从另一个Intent获取了一些数据作为String并将其存储在TextView中。如果我把它留小,整篇文章就不合适了,只显示了一半。如果我为TextView留下一个大空间,它在屏幕上看起来不太好看。

我在网上找到的解决方案是使用extends TextView并使用此方法在我的课程中出错,因此我必须更改很多功能

2 个答案:

答案 0 :(得分:7)

使用多行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格式的固定宽度,或
  • 以编程方式设置宽度,或
  • layout_alignLeft
  • 中设置layout_alignRight / RelativeLayout
  • layout_width设置为0dp并在layout_weight
  • 中使用LinearLayout

答案 1 :(得分:4)

如果您使用的是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);