我正在开发应用程序,我正在创建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
时
有任何建议并抱歉英语不好。
答案 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。