当 enable=true 时 TextInputLayout 轮廓颜色的颜色不同,然后是黑色,启用 false 时比浅灰色
Posted
技术标签:
【中文标题】当 enable=true 时 TextInputLayout 轮廓颜色的颜色不同,然后是黑色,启用 false 时比浅灰色【英文标题】:Different color of TextInputLayout outline color when enable=true then black and enable false than light gray 【发布时间】:2019-09-19 18:55:27 【问题描述】:我正在使用TextInputLayout
,根据我们的需要,我想更改enable=true
时的轮廓颜色和enable=false
时的灰色颜色
<android.support.design.widget.TextInputLayout
android:id="@+id/state_text_input"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_
android:layout_
android:layout_marginLeft="8dp"
android:layout_marginTop="24dp"
android:layout_marginRight="8dp">
【问题讨论】:
【参考方案1】:在Material Component Library 中使用TextInputLayout
并在您的布局中使用app:boxStrokeColor
属性。
类似:
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
app:boxStrokeColor="@color/text_input_layout_stroke_color"
...>
您可以使用选择器。它是默认值:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorPrimary" android:state_focused="true"/>
<item android:alpha="0.87" android:color="?attr/colorOnSurface" android:state_hovered="true"/>
<item android:alpha="0.12" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
</selector>
【讨论】:
以上是关于当 enable=true 时 TextInputLayout 轮廓颜色的颜色不同,然后是黑色,启用 false 时比浅灰色的主要内容,如果未能解决你的问题,请参考以下文章
当文本在 TextInput 中时,如何禁用 react-native AutoCorrect?
当 TextInput 具有焦点时,TouchableOpacity 不可点击
React本机IOS,当TextInput获得焦点时,按钮按下不注册
当验证器返回“无效”时,如何以编程方式在 TextInput 上显示工具提示?