#android
#Android
Вопрос:
Я настраиваю автоматическое изменение размера с помощью Compat, как и все:
TextViewCompat.setAutoSizeTextTypeWithDefaults(this, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM)
И когда я прочитаю значение после этого
TextViewCompat.getAutoSizeTextType(this)
Это 0 (без автоматического изменения размера), и тест, естественно, не масштабируется.
Я не использую макет Android (я устанавливаю положение и размер самостоятельно), но даже если я установлю LayoutParams просто так, чтобы они не были пустыми, это не имеет никакого эффекта. Какие-либо подсказки?
Комментарии:
1. откуда вы берете значения
2. Я использую свою собственную логику компоновки.
Ответ №1:
Ну, мне нужно только использовать AppCompatTextView вместо TextView :/
Ответ №2:
Вы можете использовать два способа: использовать в XML или программно.
Метод 1: используйте атрибут:
android:autoSizeTextType="uniform"
Methode 2:
или использование setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
в oncreate
methode
Убедитесь, что ширина вашего атрибута равна wrap_content
Ответ №3:
add this app:autoSizeTextType="uniform" in your TextView.
Или
In XML, we can do it by adding these lines in our TextView
app:autoSizeMaxTextSize=”100sp”
app:autoSizeMinTextSize=”12sp”
app:autoSizeStepGranularity=”2sp”
app:autoSizeText=”uniform”
Или, в Java
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(TextView textview, int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit);
// Example
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(myTextView, 12, 100, 2, TypedValue.COMPLEX_UNIT_SP);