【问题标题】:Coloring Buttons in Android with AppCompat使用 AppCompat 为 Android 中的按钮着色
【发布时间】:2015-08-20 12:23:31
【问题描述】:

有人知道如何改变按钮颜色吗?

但只有一个特定的按钮,而不是使用 XML 的应用程序的所有按钮。

android:backgroundTint 属性甚至在棒棒糖之前也不起作用 与 AppCompat 库。只有来自主题的 colorButtonNormal 可以工作 前棒棒糖。

这是真的吗?太可惜了

我正在使用带有按钮的可绘制对象(简单的绿色),但是当我使用按钮时,结果却比普通按钮高。

这是文件 btn_green.xml

<?xml version="1.0" encoding="utf-8"?>

<item android:state_pressed="true"><shape>
        <solid android:color="#ff5722" />

        <corners android:radius="4dp" />
    </shape></item>
<item android:state_focused="true"><shape android:shape="rectangle">
        <solid android:color="#4caf50" />

        <corners android:radius="4dip" />

        <stroke android:width="1dip" android:color="#F0FC00" />
    </shape></item>
<item><shape>
        <solid android:color="#4caf50" />

        <corners android:radius="4dp" />
    </shape></item>

按钮是这样的:

            <android.support.v7.widget.AppCompatButton
            android:id="@+id/btnIngresar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/btn_green"
            android:text="Hello"
            android:textStyle="bold" />

当我使用drawable时,按钮比普通按钮高(没有drawable),我不知道为什么。

【问题讨论】:

  • 您使用的是 AppCompat 主题吗?

标签: java android eclipse android-support-library android-appcompat


【解决方案1】:

如果你想要下面的样式

将此样式添加到您的按钮

style="@style/Widget.AppCompat.Button.Borderless.Colored"

如果你想要这种风格

添加以下代码

style="@style/Widget.AppCompat.Button.Colored"

【讨论】:

    【解决方案2】:

    有一种方法可以在棒棒糖之前的设备中设置BackgroundTint。尝试这个: button.setSupportBackgroundTintList(getResources().getColorStateList(R.color.accentColor)); 参考这个答案:Lollipop's backgroundTint has no effect on a Button

    【讨论】:

    • 现在你应该使用ViewCompat.setBackgroundTintList(view, colorList) 而不是button.setSupportBackgroundTintList
    • 但是在 XML 中有没有办法做到这一点?
    猜你喜欢
    • 2014-12-18
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2015-10-03
    • 2018-12-22
    • 2015-06-30
    • 2016-06-19
    相关资源
    最近更新 更多