使文本适合TextView - Android

时间:2017-08-06 06:51:24

标签: android

我正在开发应用程序,我正在创建Facebook彩色背景状态等状态。我需要填充背景并在中心显示文本。

这是我的代码。

  <TextView
            android:id="@+id/tvFeedCard"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textAlignment="center"
            android:gravity="center_vertical"
            android:text="It's Fine but problem is when text increased"
            android:textSize="20dp"
            android:background="@android:color/holo_red_light"/>

此代码工作完美,但问题是文本增加太多时。如果文本太多,那么它将隐藏。我搜索并阅读了一些答案,但没有找到。我在StackoverFlow上找到了这个答案,但它适合textview中的文本,即使文本还不够。例如,如果文字仅为 MyText ,则会填写整个视图。但我希望文字很小只是textSize保持相同(20dp)只有textSize减少,当文字足以适合TextView

有任何建议并抱歉英语不好。

1 个答案:

答案 0 :(得分:4)

使用支持库中的自动调整TextView。

Doc:https://developer.android.com/preview/features/autosizing-textview.html

<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:autoSizeTextType="uniform"
  android:autoSizeMinTextSize="12sp"
  android:autoSizeMaxTextSize="20sp"
  android:autoSizeStepGranularity="2sp"
/>

您可以使用android:autoSizeMaxTextSize指定最大文字大小,这样您的文字大小就不会超过该尺寸。在你的情况下,它将是20sp。