我有Cardview。按钮的默认颜色为灰色。我希望它看起来像右边的图像(如祝福)。已创建此右图,将backgroundtint设置为白色,但在较旧的版本中,它仍显示为灰色。android - 将默认按钮颜色从灰色更改为白色android-LMLPHP

 <android.support.v7.widget.CardView
        android:id="@+id/programm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        card_view:cardCornerRadius="2dp"
        android:layout_alignParentBottom="true"
        android:layout_margin="6dp"
        card_view:cardElevation="6dp"
        android:layout_gravity="end|right"
        card_view:cardBackgroundColor="@color/hotpink"
        android:onClick="openNextActivity">
        <Button
            android:layout_width="wrap_content"
            android:drawable="@color/white"
            android:layout_height="wrap_content"
            android:text="@string/Programme"
            android:textColor="@color/hotpink"
            android:onClick="openNextActivity"
            />
    </android.support.v7.widget.CardView>


如果我将按钮的背景更改为白色,则整个颜色将更改为白色:

 <android.support.v7.widget.CardView
        android:id="@+id/programm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        card_view:cardCornerRadius="2dp"
        android:layout_alignParentBottom="true"
        android:layout_margin="6dp"
        card_view:cardElevation="6dp"
        android:layout_gravity="end|right"
        card_view:cardBackgroundColor="@color/hotpink"
        android:onClick="openNextActivity">
        <Button
            android:layout_width="wrap_content"
            android:drawable="@color/white"
            android:background="@color/white"
            android:layout_height="wrap_content"
            android:text="@string/Programme"
            android:textColor="@color/hotpink"
            android:onClick="openNextActivity"
            />
</android.support.v7.widget.CardView>


android - 将默认按钮颜色从灰色更改为白色android-LMLPHP

根据谷歌搜索,默认的灰色是在某些主题中设置的。我可能需要覆盖一些主题并设置一些属性。但是我不确定我需要更改什么。

最佳答案

尝试这个:

<Button
    android:layout_width="wrap_content"
    android:text="Button Text"
    android:theme="@style/myButtonTheme"
    android:layout_height="wrap_content"/>


在您的myButtonTheme文件中设置此styles.xml

<style name="myButtonTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:textColorPrimary">@color/white</item>
    <item name="colorButtonNormal">#5552f1</item>
</style>


[在colorButtonNormal中设置所需的背景颜色]

输出:

android - 将默认按钮颜色从灰色更改为白色android-LMLPHP

关于android - 将默认按钮颜色从灰色更改为白色android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41137830/

10-09 03:02