【问题标题】:Image "inside" button while keeping standard animations图像“内部”按钮,同时保持标准动画
【发布时间】:2015-11-17 08:24:36
【问题描述】:

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

我尝试更改 ImageButton 的 srcbackground,但它没有提供预期的效果。能否请您指出一些实现这一目标的方法?

【问题讨论】:

    标签: android xml button imagebutton


    【解决方案1】:

    也许这不是您所说的标准,但是当您设置背景时,您最终不得不重新创建单击按钮时的行为。在 Android 中最好的方法是使用 selector 作为按钮的背景。创建一个包含 selector 的 XML 可绘制对象。

    例子:

    <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. 如果你想要棒棒糖的涟漪效果,我想你可以创建一个Layout 并将你的按钮放在里面。更改Layout 背景并将按钮背景设置为透明。如果这不起作用,请尝试将 android:background="?android:attr/selectableItemBackground" 添加到您的按钮。

    【讨论】:

      【解决方案2】:

      正如 Paulo 所说,你可以通过选择器来实现点击效果。 请参阅此答案 (https://stackoverflow.com/a/30192562),它提供了非常漂亮且可自定义的涟漪效果的代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-25
        • 2017-05-11
        相关资源
        最近更新 更多