TextView自动调整不起作用该怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我想它应该以这种方式工作:你可以使用此属性启用自动调整大小:app:autoSizeTextType="uniform"。我认为TextView应该使用所有可用的空间来显示整个文本,textSize应该尽可能大。如果您需要限制文本的最大或最小大小,则可以使用这两个属性:

app:autoSizeMinTextSize="XXsp" // (you can also use px or dp values.)

要么:

app:autoSizeMaxTextSize="XXsp"

这是我的TextView:

<android.support.v7.widget.AppCompatTextView
        android:id="@+id/vName"
        style="@style/TextView.AutoSize"
        android:layout_width="56dp"
        android:gravity="bottom|center_horizontal"
        android:maxLines="1"
        app:autoSizeMinTextSize="1px"
        app:autoSizeTextType="uniform"
        app:layout_constraintBottom_toTopOf="@id/vGuideline"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

提问于
用户回答回答于

例子如下:

你应该同时具有有界的宽度和高度,这意味着每个维度都有下面的一个:

  1. 你已为该尺寸(宽度或高度)指定绝对值
  2. 你已将约束设置为两个方向

例如:

用户回答回答于

我遇到过同样的问题。我解决它在我的gradle这个改变两行: compile 'com.android.support:support-v4:26.0.1'compile 'com.android.support:appcompat-v7:26.0.1' 要适合你的需要添加所有四个选项,这样较长的文本:

<android.support.v7.widget.AppCompatTextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/your_string"
        app:autoSizeTextType="uniform"
        app:autoSizeMaxTextSize="13sp"
        app:autoSizeMinTextSize="5sp"
        app:autoSizeStepGranularity="1sp"/>

扫码关注云+社区