【问题标题】:How to adjust textview's text size automatically to fill the layout it is in?如何自动调整 textview 文本大小以填充其所在的布局?
【发布时间】:2018-01-31 19:29:55
【问题描述】:

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

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

(垂直)LinearLayout中的所有文本视图都是

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

【问题讨论】:

    标签: android android-layout textview


    【解决方案1】:

    首先,如果您使用 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。但无论如何,如果你想在不同的屏幕和密度上使用不同的文本大小,那么恐怕你需要遵循上面的指导。

    【讨论】:

      猜你喜欢
      • 2017-03-23
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2014-10-06
      • 1970-01-01
      • 2011-05-21
      相关资源
      最近更新 更多