按下时,colorControlHighlight不会改变平面按钮的颜色

时间:2017-02-17 09:04:44

标签: android android-layout material-design android-button

当用户点击它时,我需要更改材料平面/无边框按钮的颜色。我当前的设置适用于凸起按钮,但不适用于无边框按钮。

我使用的样式,colorControlHighlight应该在按下时改变颜色?:

<style name="PrimaryFlatButton" parent="Widget.AppCompat.Button.Borderless.Colored">
<item name="colorButtonNormal">@color/primary_color</item>
<item name="colorControlHighlight">@color/primary_color_dark</item>
<item name="colorAccent">@color/primary_color</item>
<item name="android:textColor">@color/white_color</item>

布局项目:

  <Button
    android:id="@+id/Btn_SignUp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:theme="@style/PrimaryFlatButton" />

为什么凸起的按钮可以工作但不是无边框?

2 个答案:

答案 0 :(得分:0)

您需要更改的内容与此类似

在styles.xml中添加此

foo

并在按钮的xml布局中将此添加为按钮主题

<style name="ButtonTheme" parent="Theme.AppCompat.Light">
        <item name="colorControlHighlight">@color/button_highlight</item>
        <item name="colorButtonNormal">@color/colorPrimaryDark</item>
        <item name="colorControlActivated">@color/button_highlight</item>
</style>

答案 1 :(得分:0)

更改父姓名如下:(没有&#34; Borderless.Colored&#34;)

<style name="PrimaryFlatButton" parent="Widget.AppCompat.Button">
    <item name="colorButtonNormal">@color/primary_color</item>
    <item name="colorControlHighlight">@color/primary_color_dark</item>
    <item name="colorAccent">@color/primary_color</item>
    <item name="android:textColor">@color/white_color</item>
</style>

然后将其设置为&#34; android:theme&#34;就像你刚才那样。