本文介绍了Android 按钮颜色在 onClick 上发生变化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了问题.

我有两个 Button 对象.

ButtonA ButtonB

要求:-

每当我按下 ButtonA 按钮的颜色应该改变,它应该保持不变,直到我点击 ButtonB.

When ever I press ButtonA the color of button should be changed and it should remain same until I clicked on ButtonB.

点击 ButtonB 后,同样的事情应该可以正常工作,即对于 ButtonA

After click on ButtonB same thing should be working i.e for ButtonA

if (v == btn)
{
    btn.setBackground(mActivity.getResources().getDrawable(R.drawable.button_color_chnager));
}

XML:

<item android:state_focused="true" android:state_pressed="true"
            android:drawable="@drawable/ic_launcher" />

推荐答案

buttoncolor.xml

buttoncolor.xml

<?xml version="1.0" encoding="utf-8"?>
  <selector xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:state_focused="true" android:state_pressed="true"
            android:drawable="@drawable/bgalt" />
      <item android:state_focused="false" android:state_pressed="true"
            android:drawable="@drawable/bgalt" />
      <item android:drawable="@drawable/bgnorm" />
  </selector>

现在使用如下:

b1 = (Button) findViewById(R.id.b1);
b1.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
         b2.setBackgroundDrawable(getResources().getDrawable(R.drawable.whatever));
    }
});

b2 = (Button) findViewById(R.id.b2);
b2.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
         b1.setBackgroundDrawable(getResources().getDrawable(R.drawable.whatever));
    }
});

这篇关于Android 按钮颜色在 onClick 上发生变化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 04:56