当EditText
行为空(默认设置)时,我希望ImageView
图标颜色为白色。
当按下图标时,我希望颜色为黑色,然后恢复为白色,因为按下清除了EditText
行,因此它将再次为空。
使用ImageView
,我首先将src
设置为等于白色drawable
。有关如何根据EditText
线的长度测试切换颜色状态的想法吗?
答案 0 :(得分:0)
我不太确定问题的要求,当你引入ImageView并悬停时我感到困惑,因为我不相信手机也支持onHoverListener。你的意思是改变EditText强调颜色时你点击它键入一些东西?如果是这样,它将在 colors.xml - > colorAccent
下另外,如果您要更改图像背景颜色
public void onClick(View v) {
imageView.setBackgroundColor(Color.parseColor(EditText.getText().toString()));
}
希望我能为您提供一些帮助以继续您的项目。
答案 1 :(得分:0)
要在textview为空时更新图标,请使用addTextChangedListener()
然后
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Log.i("Text", charSequence + "");
if(charSequence.length()==0)
ib.setImageResource(R.drawable.button_unpressed);
else
ib.setImageResource(R.drawable.button_pressed);
}
并更改图像按钮背景跟随其状态How to set image button backgroundimage for different state?和"在您的drawable中创建一个xml"
如果你想在按下后保持图标颜色保持黑色,只需按
覆盖onClick()ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ib.setImageResource(R.drawable.button_pressed);
}
});