触摸ImageButton(Android)的反馈

问题描述 投票:2回答:3

我正在为ICS开发一款应用程序。我喜欢动作栏中的按钮反馈给用户的触摸(蓝色光晕)的方式,是否有一些简单的方法为ImageButton添加相同的反馈?

像这样,但使用ImageButton:

android android-4.0-ice-cream-sandwich feedback
3个回答
2
投票

是的,请进入您的SDK。

导航到Platforms-> android-15-> data-> res

您现在位于系统的res文件夹中。如果你在drawable文件夹中搜索,你应该能够找到代表默认系统按钮的xml选择器。该选择器应该引用存储在其他可绘制文件夹中的一些图像。选择一个分辨率并进入其文件夹并找到所有必需的图像。

获得所有必需的资源后,您可以将它们包含在您自己的项目中。然后使用您自己的选择器在按下时显示替代图像。

我不确定你的效果,但我认为如果你设置btn_default_holo_pressed.9.png作为图像视图的背景,在src中有一个图像,它应该出现在它外面的蓝色条。使用选择器,您可以在按下操作期间实现此目的。


0
投票

我想这可能是你正在寻找的:Image in Canvas with touch events

图像按钮和图像视图彼此非常相似。


0
投票

如果您只是想添加反馈

使用drawable作为ImageButton背景。

    <ImageButton
        android:id="@+id/btn_show_filter_dialog"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:background="@drawable/ic_filter_state"/>

为Image按钮创建可绘制文件:

ic_filter_state.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_enabled="false"
        android:drawable="@drawable/ic_filter_disable" />
    <item
        android:state_pressed="true"
        android:state_enabled="true"
        android:drawable="@drawable/ic_filter_click" />
    <item
        android:state_focused="true"
        android:state_enabled="true"
        android:drawable="@drawable/ic_filter_roll" />
    <item
        android:state_enabled="true"
        android:drawable="@drawable/ic_filter_solid" />
</selector>

对于反馈,您只需要state_pressed =“true”和state_enabled =“true”drawables

这是一个带矢量drawable的示例,但您可以添加自己的drawable。更改每个州的fillColor列:

ic_filter_solid.xml:

<vector android:alpha="1" android:height="24dp"
    android:viewportHeight="512" android:viewportWidth="512"
    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#ffffff" android:pathData="M487.976,0H24.028C2.71,0 -8.047,25.866 7.058,40.971L192,225.941V432c0,7.831 3.821,15.17 10.237,19.662l80,55.98C298.02,518.69 320,507.493 320,487.98V225.941l184.947,-184.97C520.021,25.896 509.338,0 487.976,0z"/>
</vector>
© www.soinside.com 2019 - 2024. All rights reserved.