如何自动调整textview的文本大小以填充它所在的布局?

时间:2018-01-31 19:29:55

标签: android android-layout textview

我在父(垂直)LinearLayout中包含一个(垂直)LinearLayout文本。文本高度是父视图高度的50%。父(垂直)LinearLayout填充屏幕的宽度,它的高度是屏幕高度的33%(使用layout_weight)。

我希望调整文本大小以填充提供给它的整个空间。我怎样才能做到这一点?我尝试使用android:autoSizeTextType="uniform"并为每个dpi类别创建不同的值,但它没有帮助。

(垂直)LinearLayout中的所有文字观点均为

android:layout_width="wrap_content"
android:layout_height="wrap_content"

The preview of the layout

1 个答案:

答案 0 :(得分:0)

首先,如果您使用的是layout_weight且您的父级LinearLayout具有垂直方向,那么您的layout_height儿童应设置为0dp而不是wrap_content为了更好的表现。在那个孩子里面,两个孩子都可以match_parent。 第二个是支持不同的屏幕尺寸和密度,那么您需要遵循以下指南:https://developer.android.com/guide/practices/screens_support.html

但是如果你想根据屏幕尺寸改变文字大小的快速解决方案,那么将这行XML代码添加到TextView

style="@android:style/TextAppearance.DeviceDefault.Medium"

Android会根据屏幕尺寸尝试采用您的TextView。但无论如何,如果你想在不同的屏幕和密度上有不同的文字大小,那么我担心你需要遵循上面的指导。