android - TextView autoSizeTextType 在应用小部件中不起作用
问题描述
无法让 TextView 文本自动调整大小以在应用小部件中工作。
自动调整大小在 Android Studio 的预览中显示良好,但它不适用于实际的小部件。
autosize 不应该在小部件或其他东西中工作吗?
我的文本视图:
<TextView
android:text="test"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/widget_text"
android:gravity="center"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:focusable="true"
android:textColor="#ddd"
app:autoSizeTextType="uniform"
app:autoSizeMaxTextSize="200dp"
app:autoSizeMinTextSize="12dp"/>
解决方案
autosize 不应该在小部件或其他东西中工作吗?
您的布局假设它被理解那些app
-prefixed 属性的东西夸大了。在应用小部件的情况下,情况并非如此。系统使用 stock 扩展布局LayoutInflater
,它对这些属性一无所知。这些属性在 an 中起作用的原因AppCompatActivity
是因为它替换了它自己的LayoutInflater
,它尊重那些app
-prefixed 属性。
欢迎您使用android
这些(例如,android:autoSizeTextType
)。但是,只有在将自动调整大小添加到框架时,它们才会在 Android 8.0 及更高版本上得到认可。
如果自动调整大小对于您的应用小部件的操作至关重要,您需要将您的设置minSdkVersion
为 26。
推荐阅读
- docker - Docker - 在 docker-compose 3 中将一个卷从一个容器挂载到另一个(等效的 volumes_from)
- sql-server-2017 - 将 60 位数字转换为 bigint 时出现转换函数错误
- javascript - 如何只公开一个函数而不是类函数中的变量?
- android - Kotlin:执行存储在变量中的函数
- servlets - Spring Security ExceptionTranslationFilter 抛出“无法处理 Spring Security 异常,因为响应已经提交。”
- python - 在嵌套列表中查找不包括零的最小值
- javascript - 如何使用javascript通过复选框过滤表格?
- react-native - 反应导航错误 this.props.navigation.navigat
- android - 等待并单击按钮以在 Playstore 中安装和打开
- node.js - 使用 pg-promise 在事务中插入另一个插入