我该如何在 EditText 获得焦点时改变其颜色?在模拟器中,当 EditText 获得焦点时它是蓝色的,我无法通过 XML 布局或编程的方式来改变它的颜色。我也不知道如何改变其他 View 的焦点颜色,比如按钮和下拉菜单。
yourEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (v == yourEditText)
{
if (hasFocus)
{
yourEditText..setTextColor(Color.RED);
}
else
{
}
}
}
});
使用焦点监听器来实现(按钮等)
编辑 您需要使用XML并设置视图的背景来实现此功能。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:state_pressed="true"
android:color="yourDesiredcolorcode"
/> <!-- pressed -->
<item
android:state_focused="true"
android:color="yourDesiredcolorcode"
/> <!-- focused -->
<item
android:color="yourDesiredcolorcode"
/> <!-- default -->
</selector>
干杯