我正在为ICS开发一款应用程序。我喜欢动作栏中按钮反馈给用户触摸的方式(蓝色光晕),是否有一些简单的方法为ImageButton添加相同的反馈?
像这样,但使用ImageButton:
答案 0 :(得分:2)
是的,请进入您的SDK。
导航至平台 - > android-15-> data-> res
您现在位于系统的res文件夹中。如果你在drawable文件夹中搜索,你应该能够找到代表默认系统按钮的xml选择器。该选择器应该引用存储在其他可绘制文件夹中的一些图像。选择一个分辨率并进入其文件夹并找到所有必需的图像。
获得所有必需的资源后,您可以将它们包含在您自己的项目中。然后使用您自己的选择器在按下时显示备用图像。
我不确定你的效果,但我认为如果你将btn_default_holo_pressed.9.png设置为图像视图的背景,并且src中的图像应该出现在它外面的蓝色条。使用选择器,您可以在按下操作期间实现此目的。
答案 1 :(得分:0)
我认为这可能是您正在寻找的: Image in Canvas with touch events
图像按钮和图像视图彼此非常相似。
答案 2 :(得分:0)
如果您只是想添加反馈
使用drawable作为ImageButton背景。
public class App {
public static void main(String[] args) {
App a = new App();
List<String> strList = new ArrayList<String>();
strList.add("Hello");
strList.add("World");
List<Integer> intList = new ArrayList<Integer>();
intList.add(1);
intList.add(2);
intList.add(3);
a.firstPrint(strList);
a.firstPrint(intList);
a.secondPrint(strList);
a.secondPrint(intList);
}
public <T extends Object> void firstPrint(List<T> theList) {
System.out.println(theList.toString());
}
public void secondPrint(List<? extends Object> theList) {
System.out.println(theList.toString());
}
}
为“图像”按钮创建可绘制文件:
ic_filter_state.xml:
<ImageButton
android:id="@+id/btn_show_filter_dialog"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/ic_filter_state"/>
对于反馈,您只需要state_pressed =“true”和state_enabled =“true”drawables
这是一个带矢量drawable的示例,但您可以添加自己的drawable。 更改每个州的fillColor列:
ic_filter_solid.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>