基本上,从我注意到的是,当你向按钮添加背景颜色时,圆角元素会消失,所以基本上没有圆角。但是当我没有背景颜色时,按钮的角是圆的。
我不明白发生了什么事。 请帮忙
答案 0 :(得分:2)
边框是默认背景drawable的一部分,因此如果这是您想要的,您还必须将其替换为包含边框的边框。 获取默认背景资源并对其进行编辑以获得一些颜色。 或者你可以使用
button = (Button) findViewById(R.id.button);
button.getBackground().setColorFilter(color, Mode.SRC_ATOP);
或许可以提供更接近你期望的东西。
答案 1 :(得分:1)
<?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中的dsign指南,但这是您的偏好。有一百万种皮肤猫的方法。然后通过第二个示例引用您在your_layout.xml文件中的drawable文件夹中创建的内容。颜色值是可选的,如果需要,也可以从res / values / colors.xml中的另一个资源文件设置。对于要在按钮内显示的任何字符串,请使用res / values / strings.xml。希望这可以帮助。此外,可以通过使用
中的半径值来调整按钮上的曲线量答案 2 :(得分:0)
按钮的背景将为您提供方角。对于一个不错的自定义背景,我建议制作一个背景图像,并使用按钮的背景或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>