Android:圆形按钮角,不改变背景颜色

时间:2017-10-06 03:17:44

标签: android android-drawable android-button android-styles

好的,所以我知道如何使用可绘制的背景来绕过android的角落。问题是,这也需要我手动设置按钮的颜色。如何在保持按钮的主题颜色的同时更改角半径?

round_button.xml

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="40dp" />
    <solid android:color="#80000000" />
</shape>

在activity_main.xml

<Button
    android:id="@+id/button2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_column="1"
    android:layout_columnSpan="1"
    android:layout_columnWeight="1"
    android:layout_row="0"
    android:background="@drawable/round_button"
    android:text="Button" />

我只是希望主题颜色仍然应用于Button,但也能够更多地围绕角落。

3 个答案:

答案 0 :(得分:1)

尝试将按钮的颜色设置为透明,您需要设置颜色,这样就可以保留主题颜色。

答案 1 :(得分:0)

我设法通过使用以下方法获取按钮的典型颜色来解决此问题:

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="40dp" />
    <solid android:color="?android:colorButtonNormal" />
</shape>

答案 2 :(得分:0)

将色调应用于所需颜色的按钮。

button.setColorFilter(ContextCompat.getColor(context, R.color.COLOR_YOUR_COLOR), android.graphics.PorterDuff.Mode.REQUIRED_MODE);