使用XML中的Android材质组件TextInputLayout设置未聚焦且不为空时的提示文本颜色

时间:2019-05-16 09:03:34

标签: android material-components-android

我希望TextInputLayout提示的颜色与聚焦时一样,即使视图未聚焦但也不为空,而不必在更改时以编程方式手动设置合适的颜色。

3 个答案:

答案 0 :(得分:1)

yourEditText.setOnFocusChangeListener(new OnFocusChangeListener() {          
    public void onFocusChange(View v, boolean hasFocus) {
        if(!hasFocus) {
          if(""+yourEditText.getText.length > 0){  // NOT EMPTY
             // do your task when its unFocused and not null
           }               
        }
        else{
             // do your task when its Focused
           }
    }
});

答案 1 :(得分:0)

嘿,您可以设置背景选择器来实现

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/colorSlate" android:state_focused="false" />
    <item android:color="@color/colorMidnight" android:state_focused="true" />

</selector> 

只需将其设置为您的Edittext的背景

答案 2 :(得分:0)

到目前为止,我唯一解决此问题的方法是监听EditText上的焦点更改和文本更改事件,并根据{{1}更改TextInputLayout的{​​{1}}属性}为空。