定义一个圆角的Button 样式
<style name="RoundedCornerView">
<item name="android:background">@drawable/roundedcorner</item>
<item name="android:cacheColorHint">@color/trans</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_marginLeft">10dp</item>
<item name="android:layout_marginRight">10dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:padding">12dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
边角样式:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke android:width="2dp" android:color="@color/light_gray" />
<corners android:radius="10dp" />
<solid android:color="@android:color/white"/>
</shape>
创建Button:
<style name="RoundedCornerBtn" parent="RoundedCornerView">
<item name="android:background">@drawable/roundedcorner_btn</item>
<item name="android:gravity">left|center_vertical</item>
<item name="android:textColor">@color/gray</item>
</style>
定义按钮状态处理样式:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" >
<shape>
<stroke android:width="2dp" android:color="@color/orange" />
<corners android:radius="10dp" />
<solid android:color="@color/orange"/>
</shape>
</item>
<item android:state_focused="true">
<shape>
<stroke android:width="2dp" android:color="@color/light_gray" />
<corners android:radius="10dp" />
<solid android:color="@android:color/white"/>
</shape>
</item>
<item >
<shape>
<stroke android:width="2dp" android:color="@color/light_gray" />
<corners android:radius="10dp" />
<solid android:color="@android:color/white"/>
</shape>
</item>
</selector>
最后到layout里面定义样式:
<style name="RoundedCornerBtnWithRightArrow" parent="RoundedCornerBtn">
<item name="android:drawableRight">@drawable/view_arrow</item>
</style>
实际效果显示如下:

这样做比使用layout布局要更加容易管理程序
本文介绍如何在Android中定义一种带有圆角的按钮样式,并详细解释了如何设置按钮的背景颜色、边框宽度及颜色、圆角半径等属性。此外还展示了如何根据不同状态改变按钮的外观。
7255

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



