我已经看到所有有类似问题的问题,但在所有解决方案中都使用了Drawable。我不想使用Image或Drawable。
我有一个自定义回合Button
。默认情况下,其颜色设置为#00796B
。
现在,当单击按钮时,它应该将颜色更改为#00695C
,并且一旦它被释放,它应该更改回默认颜色。
我需要做什么才能在Button的onClickListener
事件中实现我想要的目标?
以下是我的代码。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Vibrator mvibrate = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
mvibrate.vibrate(500);
}
});
我想知道,如果有任何方法我们可以使用if条件来检查按钮的状态并根据它做动作?
编辑: - 我已经成功实现了我想要的。谢谢你们的回答和支持。答案 0 :(得分:0)
首先在drawable文件夹中创建一个xml,并使用名称button_selector.xml
保存它 <?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#004F81" />
<stroke
android:width="1dp"
android:color="#222222" />
<corners
android:radius="7dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#89cbee"
android:endColor="#004F81"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#4aa5d4" />
<corners
android:radius="7dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
然后在布局xml中,您已将该按钮的按钮设置背景定义为:
<Button
.
.
android:Background="@drawable/button_selector"/>