如何实现android.support.v4.widget.TextViewCompat以在API<时自动调整文本大小 26



我正在尝试在我的应用程序上实现新的文本视图自动调整大小功能。我需要针对 API 21,然后我阅读了一些关于使用 android.support.v4.widget.TextViewCompat 的向后兼容性的信息,但实际上我不明白如何实现它。

<android.support.v4.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:autoSizeMaxTextSize="100sp"
android:autoSizeMinTextSize="8sp"
android:autoSizeStepGranularity="2sp"
android:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

这段代码是完全错误的,因为"Hello World!"文本消失了。

同时,此代码:

<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:autoSizeMaxTextSize="100sp"
android:autoSizeMinTextSize="8sp"
android:autoSizeStepGranularity="2sp"
android:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

。看起来不错,但编辑器继续警告最低 API 级别为 26...

这是我的 Gradle 实现:

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-core-utils:28.0.0'
implementation 'com.github.bumptech.glide:glide:3.8.0'
implementation 'com.android.support:support-v4:28.0.0'

编辑:当我尝试在android.support.v7.widget.AppCompatTextView上工作时,我发现了另一个问题(Java):

TextViewCompat textViewCompact;
textViewCompact = findViewById(R.id.TextView1);

最后一行被标记为错误:"类型参数 T 具有不兼容的上限:View 和 TextViewCompact" 我开始考虑继续使用 TextView 并通过以下方式自动调整其大小:

TextView textView = findViewById(R.id.TextView1);
TextViewCompat.setAutoSizeTextTypeWithDefaults(textView, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);

这是正确的使用方式吗?

in xml

<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:autoSizeMaxTextSize="100sp"
app:autoSizeMinTextSize="8sp"
app:autoSizeStepGranularity="2sp"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

在爪哇中

AppCompatTextView textView = findViewById(R.id.text);
TextViewCompat.setAutoSizeTextTypeWithDefaults(textView, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);

相关内容

  • 没有找到相关文章

最新更新