图像"内部"按钮同时保持标准动画

时间:2015-08-24 01:41:03

标签: android xml button imagebutton

我想通过XML在Android中定义一个按钮,它在标准的Button图形下面(点击时改变颜色,略微圆润的边缘......),显示我选择的图像。我希望最终产品有点像这样:

enter image description here

我尝试更改ImageButton的srcbackground,但它没有提供预期的效果。能否请你指点一下实现这个目标?

2 个答案:

答案 0 :(得分:0)

也许这与标准不完全相同,但是当您设置背景时,最终必须在单击按钮时重新创建行为。在Android中执行此操作的最佳方法是使用selector作为按钮的背景。使用selector创建XML drawable。

示例:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/button_bg_pressed" />
    <item android:drawable="@drawable/button_bg_default" />
</selector>

这样,当您点击按钮时,它会将背景更改为其他符合您需要的图像。

修改

  1. 如果需要,还有其他修饰符,例如focused
  2. 如果你想要Lollipop的涟漪效果,我想你可以创建一个Layout并将你的按钮放在里面。更改Layout背景并将按钮背景设置为透明。如果这不起作用,请尝试将android:background="?android:attr/selectableItemBackground"添加到按钮。

答案 1 :(得分:0)

正如Paulo所说,您可以使用选择器实现点击效果。 看到这个答案(https://stackoverflow.com/a/30192562)它给出了一个非常好的和可定制的涟漪效果的代码。