如何更改与每一个点击按钮的形象?(how to change the image of a butt

2019-07-29 06:47发布

我创建了一个buttonlayout 。 在Drawable文件夹我创建了一个XML file名为btn01_state 。 所述btn01_state.xml被分配给button i到创建的“ android:background=@drawable/btn01_state

现在,该button具有默认的image img1.when我clickbutton时,图像1变为IMG2,有一次我松开点击的鼠标按钮时,图像2再次改变再次IMG1。

我想要做的是,改变按钮的图像与埃维点击。

用于例如,最初btn01具有IMG01

如果btn01按下==>的btn01集IMG公司,img02,并直到btn01再次按下保持img02。 现在,btn01有img02就可以了。

当按下btn01,设置IMG01到btn01。

我希望这个澄清更多的是我想做的事情。

btn_selector:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/android_blue"
      android:state_pressed="true" />
<item android:drawable="@drawable/ic_launcher"
      android:state_focused="true" />
<item android:drawable="@drawable/ic_launcher" />

main.xml中

<Button 
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:id="@+id/btn01"
    android:background="@drawable/btn01_state"/>

Answer 1:

您可以在代码中轻松地做到这一点。

boolean isPressed = false;
button.setOnClickListener(buttonListener);

OnClickListener buttonListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        if(isPressed)
           button.setBackgroundResource(R.drawable.icon1);
        else
           button.setBackgroundResource(R.drawable.icon2);

        isPressed = !isPressed;
   }
};


Answer 2:

简单方法

btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
    btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.locationbutton_on));
                }
        }); 


Answer 3:

使其在代码或许。 把上的按钮的监听器,并单击按钮时的背景发生变化。



文章来源: how to change the image of a button with every click?