- <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 获得焦点但未按下时的背景图片 -->
<item android:state_enabled="true" android:state_focused="true" android:state_pressed="false">
<shape>
<stroke android:width="1dp" android:color="@color/colorbaise" />
<!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:左下角半径,
14 bottomRightRadius:右下角半径,topLeftRadius:左上角半径,topRightRadius:右上角半径-->
<corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" />
<gradient android:startColor="@color/colorbaise" android:endColor="@color/colorbaise"/>
</shape>
</item>
<!-- 按下时的背景图片 -->
<item android:state_enabled="true" android:state_pressed="true">
<shape>
<stroke android:width="1dp" android:color="@color/colorbaise" />
<!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:左下角半径,
14 bottomRightRadius:右下角半径,topLeftRadius:左上角半径,topRightRadius:右上角半径-->
<corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" />
<gradient android:startColor="@color/colorbaise" android:endColor="@color/colorbaise"/>
</shape>
</item>
<!-- 按下时的背景图片 -->
<item android:state_checked="true" android:state_enabled="true">
<shape>
<stroke android:width="1dp" android:color="@color/colorbaise" />
<!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:左下角半径,
14 bottomRightRadius:右下角半径,topLeftRadius:左上角半径,topRightRadius:右上角半径-->
<corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" />
<gradient android:startColor="@color/colorbaise" android:endColor="@color/colorbaise"/>
</shape>
</item>
<!-- 默认时的背景图片 -->
<item>
<shape>
<stroke android:width="1dp" android:color="@color/colorbaise" />
<!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:左下角半径,
14 bottomRightRadius:右下角半径,topLeftRadius:左上角半径,topRightRadius:右上角半径-->
<corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" />
</shape>
</item>
<!-- -->
</selector> - 注意点就是:在<item></item>标签中的背景android:drawable,删除,这个才有用。
selector和shape,实现button上既有样式,也有背景
最新推荐文章于 2021-05-29 15:01:25 发布
这篇博客详细介绍了如何通过XML的selector和shape元素来为Android的button创建不同状态下的背景样式,包括焦点、按下和默认状态。通过设置stroke宽度、颜色、圆角以及渐变色,实现了按钮的视觉效果变化。
1383

被折叠的 条评论
为什么被折叠?



