---在android应用程序中---
单击按钮后,其背景颜色将更改为必需。再次点击,它的颜色将恢复原始颜色。
如何实施?
任何回复,谢谢!
=============================================== =================================== 更新:从网络,我找到了实现这一目标的方法。 在xml中设计一个可绘制的颜色,如下所示:
<drawable name="button_checked">#ffff0000</drawable>
在活动中,使用下面的代码获取Drawable对象:
Resources resource = getBaseContext().getResources();
checked_drawable = resource.getDrawable(R.drawable.button_checked);
在onClick函数中,根据布尔变量:
setBackgroundDrawable(checked_mDrawable)
设置按钮背景。
答案 0 :(得分:0)
在你的js文件中放
$( '#按钮')toggleClass( 'BG');
在你的CSS中,有你的常规按钮css风格
#button { background: white; }
然后添加
#button.bg { background: red; }
因此,当他们点击按钮时,它会将背景变为红色,如果再次点击它,它将变回白色。
使用您想要的任何背景颜色/网址。
答案 1 :(得分:0)
您只需要创建a state list drawable resource,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_login_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/btn_login_normal" android:state_pressed="false"/>
</selector>
<强>更新强> 也许你想要效果为RadioButton,这是一个例子:
<RadioButton
android:id="@+id/tab_communication"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@null"
android:button="@null"
android:drawableTop="@drawable/category_communication"
android:paddingBottom="5dp"
android:paddingTop="5dp" />
抽拉/ category_communication.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/category_communication_checked" android:state_checked="true"/>
<item android:drawable="@drawable/category_communication_normal" android:state_checked="false"/>
</selector>
ToggleButton是另一种选择。
答案 2 :(得分:0)
您可以动态地在代码中执行此操作(我不知道如何在xml中配置它)。
boolean flag=true;
Button button=(Button)findViewById(R.id.button);
oncreate()
{
button.setBackgroundResource(R.drawable.first_time_click);
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
if (flag)
{
button.setBackgroundResource(R.drawable.odd_time_click);
}else
{
button.setBackgroundResource(R.drawable.even_time_click);
}
flag=!flag;
}
});
}