我想在 Android 程序中创建圆形按钮。我看过如何创建圆角的EditText? https://stackoverflow.com/questions/3646415/how-to-create-edittext-with-rounded-corners/3646629#3646629
我想要实现的是:
- 圆边按钮
- 更改不同状态下的按钮背景/外观(例如 Onclick、Focus)
- 使用我自己的 PNG 作为背景,而不是创建形状。
您可以制作圆角按钮,而无需借助 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>
对于每个状态,一个可绘制资源,例如按钮_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
and gradient
不是必要的元素,它们只是您能够看到圆角形状的示例和方式
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)