为了账号安全,请及时绑定邮箱和手机立即绑定

对按钮的物质作用有背景颜色的

对按钮的物质作用有背景颜色的

千万里不及你 2019-07-27 15:27:13
对按钮的物质作用有背景颜色的我使用的是Android v21支持库。我创建了一个自定义背景颜色的按钮。当我使用背景颜色时,材质设计效果如波纹,显示消失(除了点击的高度)。 <Button  style="?android:attr/buttonStyleSmall"  android:background="?attr/colorPrimary"  android:textColor="@color/white"  android:textAllCaps="true"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:text="Button1"  />以下是一个普通的按钮,效果很好。<Button  style="?android:attr/buttonStyleSmall"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:textAllCaps="true"  android:text="Button1"/>
查看完整描述

3 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

另一个简单的解决方案是为“平面”按钮提供自定义背景,同时保持其“材质”效果。

  1. 将按钮放在ViewGroup中,并在此处设置所需的背景

  2. 将当前主题中的selectableItemBackground设置为按钮的背景(API> = 11)

即:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/blue">
    <Button
        style="?android:attr/buttonStyleSmall"
        android:background="?android:attr/selectableItemBackground"
        android:textColor="@android:color/white"
        android:textAllCaps="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button1"
        /></FrameLayout>

可以用于Flat按钮,它适用于API> = 11,你将在> = 21设备上获得连锁效果,在21之前保持常规按钮,直到AppCompat更新以支持那里的波纹。

您也可以仅对> = 21个按钮使用selectableItemBackgroundBorderless

另一个简单的解决方案是为“平面”按钮提供自定义背景,同时保持其“材质”效果。

  1. 将按钮放在ViewGroup中,并在此处设置所需的背景

  2. 将当前主题中的selectableItemBackground设置为按钮的背景(API> = 11)

即:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/blue">
    <Button
        style="?android:attr/buttonStyleSmall"
        android:background="?android:attr/selectableItemBackground"
        android:textColor="@android:color/white"
        android:textAllCaps="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button1"
        /></FrameLayout>

可以用于Flat按钮,它适用于API> = 11,你将在> = 21设备上获得连锁效果,在21之前保持常规按钮,直到AppCompat更新以支持那里的波纹。

您也可以仅对> = 21个按钮使用selectableItemBackgroundBorderless


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 374 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信