使用android工作室我正在处理一个按钮,我希望每次我点击它按钮的背景改变,当我没有,有另一个背景。我不知道该怎么做,你能帮助我吗?
答案 0 :(得分:2)
Xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/main" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change"
android:onClick="changeBack" />
</LinearLayout>
将此代码添加到您的活动
public boolean firstImage = true;
public void changeBack(View view)
{
if (firstImage)
((LinearLayout)findViewById(R.id.main)).setBackgroundResource(R.drawable.secondimage);
else
((LinearLayout)findViewById(R.id.main)).setBackgroundResource(R.drawable.firstimage);
firstImage = !firstImage;
}
答案 1 :(得分:1)
在项目的/res/drawable
文件夹中创建一个xml文件。如果/ res目录中不存在名为drawable
的文件夹,请创建它。例如,将xml文件命名为button_bg.xml
将以下代码复制并粘贴到button_bg.xml
:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/drawable_when_pressed" />
<item android:drawable="@drawable/default_drawable" />
</selector>
drawable_when_pressed
和default_drawable
是您想要用作按钮背景的可绘制资源。按下按钮时,按钮的背景将为drawable_when_pressed
。否则,它将是default_drawable
。
您将此drawable(button_bg.xml)设置为按钮的背景。以下是如何使用它:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_bg"
android:text="Button" />
这是状态列表drawable的一个非常基本的形式。您可以在此处详细了解:Link。