颜色控件突出显示在按下时不会改变平面按钮的颜色



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

我使用的样式,按下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" />

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

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

在styles.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>

和在XML布局中为按钮添加为按钮主题

<Button
android:id="@+id/sign_in_button"
android:theme="@style/ButtonTheme"
//Other parameters as usual
/>

更改父名称如下:

<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>

然后将其设置为" Android:theme",就像您刚刚一样。

最新更新