Android Chip 视图不会将 android:textAllCaps="true" 的字母大写
Android Chip view doesn't capitalize letters with android:textAllCaps="true"
我已经 Chip
动态膨胀并添加到 ChipGroup
:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:checkable="false"
android:clickable="true"
android:ellipsize="end"
android:focusable="true"
android:letterSpacing="0.02"
android:maxLines="1"
android:textColor="#515968"
android:textSize="12sp"
android:textAllCaps="true"
app:chipBackgroundColor="#00000000"
app:chipCornerRadius="3dp"
app:chipStrokeColor="#a6aab1"
app:chipStrokeWidth="1dp"/>
不通过 android:textAllCaps="true"
将字母大写
Chip
继承自 TextView
所以它应该可以工作。
https://material.io/components/chips/#action-chips 没有显示大写的示例,尽管我看不出有任何不这样做的原因。
我会犯什么错误?我没看到。
事实证明,textAllCaps
确实有效,但是...以编程方式。
viewHolder.someProviders.addView((LayoutInflater.from(viewHolder.someProviders.context)
.inflate(R.layout.name_of_layout, viewHolder.someProviders, false) as Chip)
.apply {
text = provider.name
isAllCaps = true
})
您可以使用 android:textAppearance
属性:
<com.google.android.material.chip.Chip
android:textAppearance="@style/textAllCaps"
android:text="AllCaps"
.../>
与:
<style name="textAllCaps" parent="@style/TextAppearance.MaterialComponents.Body2">
<item name="android:textAllCaps">true</item>
</style>
注意:这需要最低版本1.2.0-alpha03
我已经 Chip
动态膨胀并添加到 ChipGroup
:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:checkable="false"
android:clickable="true"
android:ellipsize="end"
android:focusable="true"
android:letterSpacing="0.02"
android:maxLines="1"
android:textColor="#515968"
android:textSize="12sp"
android:textAllCaps="true"
app:chipBackgroundColor="#00000000"
app:chipCornerRadius="3dp"
app:chipStrokeColor="#a6aab1"
app:chipStrokeWidth="1dp"/>
不通过 android:textAllCaps="true"
Chip
继承自 TextView
所以它应该可以工作。
https://material.io/components/chips/#action-chips 没有显示大写的示例,尽管我看不出有任何不这样做的原因。
我会犯什么错误?我没看到。
事实证明,textAllCaps
确实有效,但是...以编程方式。
viewHolder.someProviders.addView((LayoutInflater.from(viewHolder.someProviders.context)
.inflate(R.layout.name_of_layout, viewHolder.someProviders, false) as Chip)
.apply {
text = provider.name
isAllCaps = true
})
您可以使用 android:textAppearance
属性:
<com.google.android.material.chip.Chip
android:textAppearance="@style/textAllCaps"
android:text="AllCaps"
.../>
与:
<style name="textAllCaps" parent="@style/TextAppearance.MaterialComponents.Body2">
<item name="android:textAllCaps">true</item>
</style>
注意:这需要最低版本1.2.0-alpha03