android - 具有覆盖可绘制对象的视图选择器
问题描述
我正在尝试创建一个按钮,它将显示为: - 按下时,它应该显示带有覆盖“复选”标记的较深的绿色阴影 - 否则,它应该显示为较浅的绿色阴影。
这是我试图用作 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>
问题是当按下按钮时只显示“复选”标记而不是它后面的绿色形状。未选中时,按钮显示正确的绿色形状。
我需要帮助来了解如何在按下此按钮时显示绿色形状和“复选”标记?
谢谢,
解决方案
尝试这个
<?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>
推荐阅读
- mysql - 如何将两个选择查询合并为一个
- ios - 应用内购买在 App Store Connect 中显示本地化语言的红色项目符号
- reactjs - 对 Kubernetes 入口做出反应
- jira - 寻求任务管理框架的建议
- python - 参数权重如何在 scipy.spatial.distance.cosine 中工作?
- delphi - TGraphicControl 后代在绘制事件之前绘制空白
- wordpress - WordPress 撰写主题帖子未完全显示
- powershell - 使用 Get-BitLockerVolume 测试锁定状态
- php - 如何在字符串中爆炸括号?
- python - 如何找到字符串中第一次出现的字母(来自字母表)的位置?