我想在Android程序中创建圆形按钮。我看过How to create EditText with rounded corners?
我要实现的是:
最佳答案
您可以执行圆角按钮,而无需使用ImageView。
背景选择器资源button_background.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states
-->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_unfocused" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_unfocused" />
<!-- Focused states
-->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_focus" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_focus" />
<!-- Pressed
-->
<item android:state_pressed="true" android:drawable="@drawable/button_press" />
</selector>
对于每个状态,可绘制资源,例如button_press.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#FF404040" />
<corners android:radius="6dp" />
<gradient android:startColor="#FF6800" android:centerColor="#FF8000" android:endColor="#FF9700" android:angle="90" />
</shape>
注意
corners
属性,这可以使您圆圆!然后在按钮上设置背景可绘制:
android:background="@drawable/button_background"
编辑(9/2018):可以使用相同的技术来创建圆形按钮。圆形实际上只是一个方形按钮,其半径大小设置为方形边的1/2
此外,在上面的示例中,
stroke
和gradient
不是必需的元素,它们只是示例,您可以看到圆角形状