如何更改按钮背景?

时间:2013-11-13 13:24:04

标签: android

我有一个按钮,我想在按钮上打开和关闭按钮,我需要的是我有两个背景图像。

当我第一次点击按钮时,首先应该完成背景图像,第二次应该像切换按钮一样改变第二个背景图像。

任何人请帮助我,因为我是新手。

这是我的活动:

public class MainActivity extends Activity {

    private Button Button1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                v.setBackgroundResource(R.drawable.ic_launcher);

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}  

感谢。

4 个答案:

答案 0 :(得分:1)

使用以下代码在drawable中创建一个xml文件,并将按钮的背景更改为此drawable

customButton.xml

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

然后为图像添加背景

<ImageView
    android:layoutWidth="wrap_content"
    android:layoutWidth="wrap_content"
    android:background="@drawable/customButtom" />

答案 1 :(得分:0)

您可以维持setSelected的{​​{1}}状态,并通过Button点击<{p}}检查图片是否为isSelected

尝试使用

Button

让我知道这是否有效。

答案 2 :(得分:0)

你可以使用setTag来做到这一点。

首先&GT;

Button1.setTag("ON");

其次在你的onclicklistener中添加:

if (v.getTag().toString().equals("ON")) {
            v.setTag("OFF");
             v.setBackgroundResource(R.drawable.ic_launcher);
        }else {
            v.setTag("ON");
             v.setBackgroundResource(R.drawable.ic_launcher2);
        }

答案 3 :(得分:0)

使用ImageButton代替Button,通过setImageResource(int)方法更改ImageButton表面上的图片。