我有一个多个textfields / edittext的形式。我输入数据并移动到下一个表单字段后,想要更改edittext的背景颜色。
请建议,
提前致谢。
答案 0 :(得分:2)
在edittext_background.xml
中创建文件drawable
:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorEditTextDisable" android:state_enabled="false"/>
<item android:drawable="@color/colorEditTextFocusLost" android:state_enabled="true" android:state_focused="false"/>
<item android:drawable="@color/colorEditTextFocusGained" android:state_enabled="true" android:state_focused="true"/>
</selector>
并在colors.xml
<color name="colorEditTextDisable">#999999</color>
<color name="colorEditTextFocusLost">#ffffff</color>
<color name="colorEditTextFocusGained">#c6c6c6</color>
从抽象中使用背景,尝试一下
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/edittext_disabled" android:state_enabled="false"/>
<item android:drawable="@drawable/edittext_focus_lost" android:state_enabled="true" android:state_focused="false"/>
<item android:drawable="@drawable/edittext_focus_gained" android:state_enabled="true" android:state_focused="true"/>
</selector>
并将其设置为EditText
的背景
在XML中:android:background="@drawable/edittext_background"
或者在Java中:editText.setBackgroundResource(R.drawable.edittext_background);
答案 1 :(得分:0)
让我们看看你有edittext1和edittext2:
edittext1.setBackgroundColor(Color.parseColor("#000000"));
edittext2.requestFocus();
答案 2 :(得分:0)
您需要为每个onFocusChangeListener
设置EditText
。现在,当用户点击另一个EditText
并从第一个{@ 1}移除焦点时,将为第一个onFoucsChange
调用EditText
,您可以相应地更改背景。
答案 3 :(得分:0)
certin代码我添加了Rehan的代码。它提供了更好的网络功能。
edittext.setOnFocusChangeListener(myEditTextFocus);
private View.OnFocusChangeListener myEditTextFocus = new View.OnFocusChangeListener() {
public void onFocusChange(View view, boolean gainFocus) {
//onFocus
if (gainFocus) {
//set the text
//((EditText) view).setText("In focus now");
((EditText) view).setBackgroundResource(R.drawable.bg_edittext);
}
//onBlur
else {
int l=((EditText) view).getText().length();//System.out.println("zeetu"+l);
//clear the text
if(l>1){((EditText) view).setBackgroundResource(R.drawable.custom_edit_text_new);}
}
};
};