让Button 有按下效果 更有视觉效果
来源:互联网 发布:免费图片库 知乎 编辑:程序博客网 时间:2024/05/19 16:34
功能] 让Button 有按下效果 更有视觉效果 [代码] 1. 先准备2张*.png 一张供默认使用 另一张供按下使用 本例为: Java代码 1. play.png 2. play_down.png 2. 根据各种状态 定制化所显示的 *.png 命名为: myselection.xml Java代码 1. <?xml version="1.0" encoding="utf-8"?> 2. <selector xmlns:android="http://schemas.android.com/apk/res/android"> 3. <item 4. android:state_pressed="false" 5. android:drawable="@drawable/play" /> 6. <item 7. android:state_pressed="true" 8. android:drawable="@drawable/play_down" /> 9. <item 10. android:drawable="@drawable/play" /> 11. </selector> 3. 在 main.xml 布局中 添加Button 元件 并 设置 使用 myselection.xml Java代码 1. <?xml version="1.0" encoding="utf-8"?> 2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3. android:orientation="vertical" 4. android:layout_width="fill_parent" 5. android:layout_height="fill_parent" 6. > 7. <TextView 8. android:layout_width="fill_parent" 9. android:layout_height="wrap_content" 10. android:text="Button Style!" 11. /> 12. <ImageButton 13. android:id="@+id/playorpause" 14. android:layout_width="wrap_content" 15. android:layout_height="wrap_content" 16. android:src="@xml/myselection" 17. android:background="#00000000" /> 18. </LinearLayout> 4. 大家可以自己看看效果 因为不好截图 其实 除了上面的方法 还有一个方法 为: 1. 在 maun.xml 中添加 ImageButton 且不设置使用的*.png Java代码 1. <?xml version="1.0" encoding="utf-8"?> 2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3. android:orientation="vertical" 4. android:layout_width="fill_parent" 5. android:layout_height="fill_parent" 6. > 7. <ImageButton 8. android:id="@+id/button" 9. android:layout_width="wrap_content" 10. android:layout_height="wrap_content" 11. /> 12. </LinearLayout> 2. 在该ImageButton上设置监听器 并根据其状态使用对应的资源 但是必须要设置默认资源 Java代码 1. ImageButton btn = (ImageButton) findViewById(R.id.button); 2. 3. //to set its default *.png 4. btn.setBackgroundResource(R.drawable.play); 5. btn.setOnTouchListener(new ImageButton.OnTouchListener(){ 6. @Override 7. public boolean onTouch(View arg0, MotionEvent arg1) { 8. // TODO Auto-generated method stub 9. if(arg1.getAction() == MotionEvent.ACTION_DOWN){ 10. arg0.setBackgroundResource(R.drawable.play_down); 11. } 12. else if(arg1.getAction() == MotionEvent.ACTION_UP){ 13. arg0.setBackgroundResource(R.drawable.play); 14. } 15. 16. return false; 17. } 18. 19. }); 具体哪个方法更好 应该根据自己的场合: 1. 只有一个Button 推荐使用第一个方法 2. 有几个Button 推荐使用第二个 统一定义 然后根据指定的id 来使用目标*.png
- 让Button 有按下效果 更有视觉效果
- 谈如何让回顾会议更有效果
- 【修炼十三】如何让项目总结更有效果?
- 让创意更有黏性!
- Button 有按下效果
- Button 有按下效果
- Button 有按下效果
- 让button有边框,或变成圆形
- 怎么让生活更有活力
- 让编程更有趣味!模拟双色球机选!
- 让你更有创意的几条小贴士
- 如何让地图变得更有吸引力
- 让营销更有“技术范儿”
- 让你的照片更有feel!
- 如何才能让自己更有魅力
- “Do better” 让百度更有温度
- 如何让地图变得更有吸引力
- 通过CSS让button标签实现A标签的效果
- 关于c# 引发了"system.indexOutofRangeException"类型异常,该怎么处理
- 字符串分割器,写的很精炼,不错
- rfc1723:路由信息协议(版本2)
- 傻瓜书,VMware里的Ubuntu
- IBatis学习关于N+1问题的解决
- 让Button 有按下效果 更有视觉效果
- 51串口通信 C程序
- android intent和intent action大全
- C语言面试题
- the vulcanmoold company
- Android2.2平台上支持多camera(一)
- 智慧地球战略的简介
- Android2.2平台上支持多camera(二)
- c语言基础 2