我正在尝试创建一个按钮,它将显示为: - 按下时,它应显示较深的绿色阴影,并带有覆盖“检查”标记 - 否则,它应该显示为较浅的绿色。
这是我试图用作Button对象背景的可绘制对象:
<item android:state_pressed="true" android:drawable="@drawable/ic_check_black_24dp">
<shape android:shape="oval">
<size android:width="16dp" android:height="16dp" />
<corners android:radius="8dp" />
<gradient
android:type="radial"
android:gradientRadius="60dp"
android:startColor="#64DD17"
android:endColor="@android:color/black" />
</shape>
</item>
<item android:state_pressed="false">
<shape android:shape="oval">
<size android:width="16dp" android:height="16dp" />
<corners android:radius="8dp" />
<gradient
android:type="radial"
android:gradientRadius="60dp"
android:startColor="#76FF03"
android:endColor="@android:color/black" />
</shape>
</item>
问题是当按下按钮时,按钮仅显示“检查”标记,而不显示其后面的绿色形状。未选中时,按钮显示正确的绿色形状。
我需要帮助才能了解如何在按下此按钮时显示绿色形状和“检查”标记?
谢谢,
答案 0 :(得分:0)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_launcher_background" android:state_pressed="true">
<shape android:shape="oval">
<size android:width="16dp" android:height="16dp" />
<corners android:radius="8dp" />
<gradient android:endColor="@android:color/black" android:gradientRadius="60dp" android:startColor="#64DD17" android:type="radial" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size android:width="16dp" android:height="16dp" />
<corners android:radius="8dp" />
<gradient android:endColor="@android:color/black" android:gradientRadius="60dp" android:startColor="#76FF03" android:type="radial" />
</shape>
</item>
</selector>