gpt4 book ai didi

android - 使用 TextInputLayout 时更改 EditText textAllCaps

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:48 30 4
gpt4 key购买 nike

我正在使用设计库中的新 TextInputLayout。我能够让它显示并更改 float 标签的颜色。不幸的是,它不会将文本更改为大写。

我不想更改我的 strings.xml,因为我只希望这个标签是大写的。我尝试过更改布局、样式和编程方式中的 textAllCaps,但 EditText 提示的大小写始终与 strings.xml 完全相同。

这是我的 TextInputLayout 和 EditText 的 XML

<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.support.design:hintTextAppearance="@style/TextInputLayout">


<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/city"
android:textColorHint="@color/black"
android:hint="@string/city" />

</android.support.design.widget.TextInputLayout>

这是我为 TextInputLayout 使用的样式(我尝试使用唯一的“textAllCaps”(没有“android:”)属性,但没有为我做任何事情):

<style name="TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textAllCaps">true</item>
</style>

最佳答案

解决方法和@Janvi差不多,不过是通过BindingAdapter解决的,可以用xml代替代码:

@BindingAdapter("android:hint")
fun setTextInputLayoutHint(textInputLayout: TextInputLayout, hint: CharSequence?) {
textInputLayout.hint = hint?.toString()?.toUpperCase()
}

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_first_name"
android:hint="@{@string/first_name}"

enter image description here

附言:

The hint should be set on TextInputLayout, rather than the TextInputEditText or EditText. https://material.io/develop/android/components/text-input-layout/

关于android - 使用 TextInputLayout 时更改 EditText textAllCaps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50139834/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com