在 ImageButton 中使用 Elevation 和 Ripple
Using Elevation and Ripple in ImageButton
我正在尝试在 ImageButton 上同时设置高度和波纹效果。
我是 运行 棒棒糖。
代码如下:
<android.support.v7.widget.AppCompatImageButton
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="5dp"
android:background="?attr/selectableItemBackgroundBorderless"
app:srcCompat="@drawable/add" />
我的主题是:Theme.AppCompat.Light.DarkActionBar
有了这段代码,我只得到了涟漪。
如果我删除背景(波纹),我会得到提升。
已编辑:
注意:所有屏幕截图都是在单击(长按)图像时截取的。
我用 android:background="?attr/selectableItemBackground"
测试过,我得到了一个波纹,背景是一个正方形,但没有高程:
使用 android:background="?attr/selectableItemBackgroundBorderless"
我得到了圆形背景的波纹,但没有高程:
没有背景属性我得到了高度,默认的ImageButton
背景:
我需要的是同时圆形波纹背景和高程。
像阴影一样,无边界波纹会投射到最近的父表面上——这意味着它们无法投射阴影。考虑改用带边框的波纹:
android:background="?attr/selectableItemBackground"
现在已经五年了,但我重新审视了这个,解决方案是使用 foreground
而不是 background
:
<ImageButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:elevation="5dp"
android:foreground="?attr/selectableItemBackgroundBorderless"
android:src="@mipmap/ic_launcher"/>
我正在尝试在 ImageButton 上同时设置高度和波纹效果。 我是 运行 棒棒糖。
代码如下:
<android.support.v7.widget.AppCompatImageButton
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="5dp"
android:background="?attr/selectableItemBackgroundBorderless"
app:srcCompat="@drawable/add" />
我的主题是:Theme.AppCompat.Light.DarkActionBar
有了这段代码,我只得到了涟漪。 如果我删除背景(波纹),我会得到提升。
已编辑:
注意:所有屏幕截图都是在单击(长按)图像时截取的。
我用 android:background="?attr/selectableItemBackground"
测试过,我得到了一个波纹,背景是一个正方形,但没有高程:
使用 android:background="?attr/selectableItemBackgroundBorderless"
我得到了圆形背景的波纹,但没有高程:
没有背景属性我得到了高度,默认的ImageButton
背景:
我需要的是同时圆形波纹背景和高程。
像阴影一样,无边界波纹会投射到最近的父表面上——这意味着它们无法投射阴影。考虑改用带边框的波纹:
android:background="?attr/selectableItemBackground"
现在已经五年了,但我重新审视了这个,解决方案是使用 foreground
而不是 background
:
<ImageButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:elevation="5dp"
android:foreground="?attr/selectableItemBackgroundBorderless"
android:src="@mipmap/ic_launcher"/>