gpt4 book ai didi

android - Android中的圆形按钮

转载 作者:IT老高 更新时间:2023-10-28 13:15:42 28 4
gpt4 key购买 nike

我想在 Android 程序中创建圆形按钮。我看过How to create EditText with rounded corners?

我想要实现的是:

  1. 圆边按钮
  2. 更改按钮在不同状态下的背景/外观(如 Onclick、Focus)
  3. 使用我自己的 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>

对于每个状态,一个可绘制资源,例如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 元素,这会让你得到圆角!

然后在按钮上设置背景drawable:

android:background="@drawable/button_background"

编辑 (9/2018):同样的技术可用于创建圆形按钮。圆形实际上只是一个方形按钮,其半径大小设置为方形边的 1/2

此外,在上面的示例中,strokegradient 不是必需元素,它们只是示例和您可以看到圆角的方式形状

关于android - Android中的圆形按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9334618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com