如何根据EditText行的空测试更改ImageView的颜色状态?

时间:2015-10-28 03:28:27

标签: android android-edittext android-imageview android-drawable

EditText行为空(默认设置)时,我希望ImageView图标颜色为白色。

当按下图标时,我希望颜色为黑色,然后恢复为白色,因为按下清除了EditText行,因此它将再次为空。

使用ImageView,我首先将src设置为等于白色drawable。有关如何根据EditText线的长度测试切换颜色状态的想法吗?

2 个答案:

答案 0 :(得分:0)

我不太确定问题的要求,当你引入ImageView并悬停时我感到困惑,因为我不相信手机也支持onHoverListener。你的意思是改变EditText强调颜色时你点击它键入一些东西?如果是这样,它将在 colors.xml - > colorAccent

另外,如果您要更改图像背景颜色

 public void onClick(View v) {
                imageView.setBackgroundColor(Color.parseColor(EditText.getText().toString()));
        }

希望我能为您提供一些帮助以继续您的项目。

答案 1 :(得分:0)

要在textview为空时更新图标,请使用addTextChangedListener()然后

检查Android: How can I validate EditText input?
 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);
            }
        });