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