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

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

我使用的是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"/>
千万里不及你
浏览 375回答 3
3回答

白衣非少年

另一个简单的解决方案是为“平面”按钮提供自定义背景,同时保持其“材质”效果。将按钮放在ViewGroup中,并在此处设置所需的背景将当前主题中的selectableItemBackground设置为按钮的背景(API> = 11)即:<FrameLayout &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:background="@color/blue"> &nbsp;&nbsp;&nbsp;&nbsp;<Button &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style="?android:attr/buttonStyleSmall" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:background="?android:attr/selectableItemBackground" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:textColor="@android:color/white" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:textAllCaps="true" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="fill_parent" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text="Button1" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/></FrameLayout>可以用于Flat按钮,它适用于API> = 11,你将在> = 21设备上获得连锁效果,在21之前保持常规按钮,直到AppCompat更新以支持那里的波纹。您也可以仅对> = 21个按钮使用selectableItemBackgroundBorderless。另一个简单的解决方案是为“平面”按钮提供自定义背景,同时保持其“材质”效果。将按钮放在ViewGroup中,并在此处设置所需的背景将当前主题中的selectableItemBackground设置为按钮的背景(API> = 11)即:<FrameLayout &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:background="@color/blue"> &nbsp;&nbsp;&nbsp;&nbsp;<Button &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style="?android:attr/buttonStyleSmall" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:background="?android:attr/selectableItemBackground" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:textColor="@android:color/white" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:textAllCaps="true" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="fill_parent" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text="Button1" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/></FrameLayout>可以用于Flat按钮,它适用于API> = 11,你将在> = 21设备上获得连锁效果,在21之前保持常规按钮,直到AppCompat更新以支持那里的波纹。您也可以仅对> = 21个按钮使用selectableItemBackgroundBorderless。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android