这是一个简单的问题,
在我的xml文件中我有:
<Button
android:id="@+id/button_8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/Bf"
android:background="@drawable/button_purple"
android:layout_weight="1"
android:textColor="#ffffff"
android:onClick="action"
/>
在我的活动中,我有:
public void action (View v)
{
s = "m";
changeCouleur("blue");
v.setPressed(true);
}
当我按下按钮时它正在工作,但按钮不会保持按下状态。
我不使用图像这是我用于颜色的图像:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#449def" />
<stroke
android:width="1dp"
android:color="#2f6699" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<solid
android:color="#449def" />
<stroke
android:width="1dp"
android:color="#2f6699" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#449def"
android:endColor="#2f6699"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#2f6699" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
如果您发现错误,请提前致谢。 请有人知道吗?
答案 0 :(得分:0)
你必须使用两张图片才能做到这一点。
button_normal button_pressed 然后在drawable文件夹中创建一个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/button_normal" />
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
</selector>
然后,将此文件设置为imageview的背景。这里我们使用imageview作为按钮。别忘了在drawable文件夹中包含这两个按钮。
答案 1 :(得分:0)
根据我的理解,你试图使用一个按钮关闭/打开一个状态,按钮的状态也会清楚地表明该功能的状态。
如果我是正确的,请使用自定义复选框。无论如何,您必须为复选框的不同状态定义选择器(如user1071979所述)。