Как управлять размером текста Android? - PullRequest
0 голосов
/ 02 марта 2019

Возьмем этот фрагмент текста, например:

<TextView
        android:id="@+id/tvTotal"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:maxLines="3"
        android:padding="10dp"
        android:scrollbars="vertical"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:textStyle="bold"
        app:autoSizeMaxTextSize="100sp"
        app:autoSizeMinTextSize="12sp"
        app:autoSizeStepGranularity="2sp"
        app:autoSizeTextType="uniform"
        app:fontFamily="sans-serif"
        app:lineHeight="60dp"
        android:lineSpacingMultiplier="2.5"
        android:lineSpacingExtra="6dp" />

У меня есть android:textSize="30sp", app:autoSizeMaxTextSize="100sp" и app:autoSizeMinTextSize="12sp" все в порядке.Всякий раз, когда я менял android:textSize, это никак не влияло на мой телефон.Почему это?Кроме того, app:lineHeight имеет какой-либо эффект, когда установлены android:lineSpacingMultiplier и android:lineSpacingExtra?Что вообще делают эти свойства?

1 Ответ

0 голосов
/ 02 марта 2019

Если вы удалите app:autoSizeTextType="uniform", тогда ваш код будет работать.Потому что когда вы используете app:autoSizeTextType="uniform", это время android:textSize="30sp" не работает.

Разница в том, что android:lineSpacingExtra добавляет дополнительный интервал между строками текста TextView, а android:lineSpacingMultiplier работает как масштабный коэффициент для высотыпробел.другими словами, высота каждой строки будет height*multiplier + extra

...