在片段/活动中更改EditText的颜色,可以通过以下步骤实现:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/default_text_color" />
EditText editText = findViewById(R.id.editText);
editText.setTextColor(getResources().getColor(R.color.new_text_color));
其中,R.color.new_text_color是在res/values/colors.xml文件中定义的新颜色,例如:
<resources>
<color name="default_text_color">#000000</color>
<color name="new_text_color">#FF0000</color>
</resources>
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
editText.setTextColor(getResources().getColor(R.color.new_text_color));
} else {
editText.setTextColor(getResources().getColor(R.color.default_text_color));
}
}
});
这样,当EditText获得焦点时,颜色会变为新的颜色;失去焦点时,颜色会恢复为默认颜色。
总结:
在片段/活动中更改EditText的颜色,可以通过获取EditText的引用,使用setTextColor()方法来实现。可以在布局文件中设置初始颜色,也可以在代码中动态改变颜色。注意要在res/values/colors.xml文件中定义颜色,并在代码中引用。
领取专属 10元无门槛券
手把手带您无忧上云