textable的selectableItemBackgroundBorderless

时间:2015-05-29 13:28:17

标签: android textview geometry effect

我有TextView用作按钮。我想在按下时添加属性selectableItemBackgroundBorderless以产生圆形波纹效果。布局如下:

android:id="@+id/create_button"  
android:layout_width="wrap_content"
android:layout_height="54dp"
...
android:background="? android:attr/selectableItemBackgroundBorderless"

因此,按下时确实会出现圆形波纹效应,但是纹波会从文本视图中消失,但只是在textview的底部(因为textview的顶部是动作栏)。

我的问题是,为什么涟漪效应会跨越textview底部?如您所知,我将android:layout_height限制为54dp。为什么这个限制没用?

2 个答案:

答案 0 :(得分:22)

您必须使用?android:attr/selectableItemBackground将涟漪效果保持在View边界内。

?android:attr/selectableItemBackgroundBorderless允许效果超出View

答案 1 :(得分:3)

1.要限制视图内的涟漪效果,只需指定

android:background="?attr/selectableItemBackground"

在视图内。

2.为了使波纹效果边界更少,即在整个布局中显示波纹效果,您可以使用它。

android:background="?attr/selectableItemBackgroundBorderless"

3.如需了解更多信息,请查看链接Defining Custom Animation