基本上,据我所知,当您为按钮添加背景颜色时,圆角元素会消失,因此基本上没有圆角。但是当我没有背景颜色时,按钮的角是圆形的。
我不明白发生了什么。请帮忙
边框是默认背景可绘制的一部分,因此如果这是您想要的,您也必须将其替换为包含边框的边框。采用默认背景资源并对其进行编辑以具有一些颜色。或者,您可以使用
button = (Button) findViewById(R.id.button);
button.getBackground().setColorFilter(color, Mode.SRC_ATOP);
这可能会提供更接近您期望的东西。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="false">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp" android:shape="rectangle">
<solid android:color="#FFb888"/>
<corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/>
</shape>
</item>
<item android:state_enabled="true" android:state_pressed="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp" android:shape="rectangle">
<solid android:color="#FFD488"/>
<corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/>
</shape>
</item>
<item android:state_enabled="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp" android:shape="rectangle">
<solid android:color="#FF8C00"/>
<corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/>
</shape>
</item>
</selector>
<Button
android:id="@+id/btn_add_list"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:background="@drawable/rounded_orange_button"
android:text="@string/action_new_list"
android:textColor="@color/white"
android:gravity="center"
android:textSize="18sp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:layout_alignParentRight="true"
android:onClick="doNewList"/>
您可以将上述将成为按钮背景的 xml 文件保存在 res/drawable 文件夹中名为 rounded_orange_button.xml 的文件中。所以它将是 res/drawable/rounded_orange_button.xml。这也会在用户选择按钮时向用户提供按钮反馈,更接近于 developer.android.com 的设计指南,但这是您的偏好。给猫剥皮的方法有一百万种。然后通过第二个示例引用您在 your_layout.xml 文件中的可绘制文件夹中创建的内容。颜色值是可选的,如果需要,也可以从 res/values/colors.xml 中的另一个资源文件中设置。将 res/values/strings.xml 用于您希望在按钮内显示的任何字符串。希望这可以帮助。此外,按钮上的曲线量可以通过播放中的半径值来调整
按钮的背景将为您提供方角。对于一个漂亮的自定义背景,我建议制作背景图像并用作按钮的背景或 src。所以你的 xml 看起来像:
android:src="@drawable/mybuttonimage"
android:bacgkround="@null"
或者
android:background="@drawable/mybuttonimage"
我会测试两者,因为它们可以以不同的方式拉伸您的图像。
另一种选择是在 res/drawable 文件夹中创建一个形状。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#33DDFF" />
<corners android:radius="4dp" />
</shape>