好的,所以我理解涟漪效应只有LOLLIPOP才能使用。但是,在设置我的ImageButton时,我仍然无法获得一个很好的涟漪效果,就像#"常规"按钮,只显示图像(和透明的bg)......
我添加了AppCompat v7并将第二个布局放在我的drawable / layout-v21文件夹中,其中包含以下按钮:
<ImageButton
android:id="@+id/forward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="15dp"
android:scaleType="fitCenter"
android:height="15dp"
android:padding="25dp"
style="@style/Widget.AppCompat.ImageButton"
android:src="@drawable/forwardplay" />
但是背景是灰色的,并且无法定制波纹(灰色)。
所以,如果我只有一个漂亮的波纹可绘制放入我的drawable-v21那将是伟大的,我可以从ImageButton的background属性引用它。事情是我找不到原来的Android Ripple效果(我有三星S6手机,是三星的主题吗?)
如果有人能分享他们的工作可吸引人,那会很高兴。
谢谢!
答案 0 :(得分:5)
试试这个,绝对应该有效:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/YOUR_BUTTON_SOURCE"
android:background="?attr/selectableItemBackgroundBorderless"
/>
答案 1 :(得分:1)
......这是三星的主题吗?
很可能,但无论如何我使用以下方法来达到这种效果。
这取决于你要去的样子。如果您使用的图标类似于您在操作栏中看到的内容,则可能需要使用actionButtonStyle
:
style="?attr/actionButtonStyle"
还有一些其他可以选择的按钮样式属性,可能包含也可能不包含涟漪效应。
否则,如果您使用实际图片作为按钮,则可以使用selectableItemBackground
或selectableItemBackgroundBorderless
属性作为前景:
android:foreground="?attr/selectableItemBackground"
答案 2 :(得分:0)
尝试使用
android:background="?selectableItemBackground"
答案 3 :(得分:0)
您可以为您的按钮设置可绘制和设置背景。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/grey_15">
<item android:id="@android:id/mask">
<shape android:shape="oval">
<solid android:color="?android:colorPrimary"/>
</shape>
<color android:color="@color/white"/>
</item>
</ripple>
更改规格的颜色。
答案 4 :(得分:0)
尝试以下answer后:
<?xml version="1.0" encoding="utf-8"?>
<ripple android:color="#ffffff"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/mask"
android:drawable="@android:color/white" />
</ripple>
我找到了一个心灵:)像魅力一样工作!
总结:
将其设置为背景,如下所示:
<ImageButton
android:id="@+id/forward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="15dp"
android:scaleType="fitCenter"
android:height="15dp"
android:padding="25dp"
android:background="@drawable/ripple_bg"
android:src="@drawable/forwardplay" />
答案 5 :(得分:0)
尝试使用
android:background="?android:attr/actionBarItemBackground"