最近在写一个程序,其中主界面用到了九宫格,由于本人菜鸟,就没有自定义控件来实现了。而是偷懒使用ImageButton,但是问题也接踵而至。

·  为ImageButton添加图片后,有边框,看起来像是图片贴在了一个按扭上面,要多丑有多丑。

解决办法:网上查了一下有两种,我采用的是设置其背景为透明:#0000

·  图片全部弄好,添加好以后,点击按扭木有按下效果。这个问题搞得我头大了。网上找了很多方法,一个一个的试过,都不是很满意。以下是网上比较流行的方法:

·通过代码实现,切换背景图片。

·通过XML实现,也是切换背景图片。

·颜色过滤。不用切换背景图片,一段代码,通通搞定。

·原文:<

http://blog.csdn.net/sytzz/archive/2010/06/16/5673662.aspx

>

前面两种虽然好用,但是显然不可取啊,像作者说的一样,每个按扭都写一段代码或者XML,并且每个按扭都要配两张图片。那不得搞死人啊。

于是我试着使用第三种方法,但是一点效果也木有啊。现在也不知道是为神马。目前我认为可能是我把背景设为透明的原因。

然后又试着通过类似颜色过滤的方法,在代码中设置背景的透明度。也是一点效果也木有。身为菜鸟我表示,不知道是什么情况,且压力很大。

最终,算是找到了一个可以接受的效果:设置图片的透明度。

ImageButton

1 imgButton.setOnTouchListener(new View.OnTouchListener() {

2

3             @Override

4             public boolean onTouch(View v, MotionEvent event) {

5                 if(event.getAction()==MotionEvent.ACTION_DOWN){

6                     imgButton.getDrawable().setAlpha(150);//设置图片透明度0~255,0完全透明,255不透明

7                      imgButton.invalidate();

8                 }

9                 else {

10                     imgButton.getDrawable().setAlpha(255);//还原图片

11                      imgButton.invalidate();

12                 }

13                 return false;

14             }

15         });

好了,现在点击按扭总算是有点反应了。

注意:

·ImageButton背景设为透明

·第7行和第11行的invalidate()方法调用(重绘一下按钮,不然还是木有反应,为了这个我还想了半天,最后终于想到重绘,谢天谢地...)

·具体使用的时候不用每个按扭都写一个Listener,直接把这个匿名的Listener给个名字。然后每个ImageButton都设成这个Listener就可以了。

·搞定,收工。

android imagebutton 设置边框,【Android技巧】ImageButton 去边框 添加按下效果相关推荐

  1. android+动态设置权重,Android自适应布局(关于权重weight的使用技巧!)

    weight和weightSum Layout Weight LinearLayout also supports assigning a weight to individual children ...

  2. android remoteviews 设置背景,Android通过RemoteViews实现跨进程更新UI示例

    一.概述 前面一篇文章Android通过AIDL实现跨进程更新UI我们学习了aidl跨进程更新ui,这种传统方式实现跨进程更新UI是可行的,但有以下弊端: View中的方法数比较多,在IPC中需要增加 ...

  3. Android美化menu的小技巧-item菜单项添加标题

    直接上代码 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android=" ...

  4. android 代码设置圆角,Android中用Shape实现圆角和局部圆角

    本文讲解如何实现布局边框的部分圆角 大家可能都知道圆角实现其实很简单, 在drawable文件夹下新建xml文件加入以下代码 情景1: 四个角均为圆角 android:shape="rect ...

  5. android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值

    http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...

  6. android okhttpclient设置编码,Android之okhttp实现socket通讯(非原创)

    文章大纲 一.okhttp基础介绍二.socket通讯代码实战三.项目源码下载四.参考文章 一.okhttp基础介绍 二.socket通讯代码实战 1. 添加依赖和权限 app的build.gradl ...

  7. android如何设置图标,Android APP如何设置显示图标

    一款APP的图标是它的脸面,颜值的重要性,不言而喻了.接下来,如何设置APP的图标? 步骤1.编辑 AndroidManifest.xml: package="test.applicatio ...

  8. android自定义设置界面,Android开发之精仿QQ设置界面(自定义PreferenceActivity)

    Android开发之精仿QQ设置界面(自定义PreferenceActivity) 时间:2011-12-05 10:25:06 来源:Android开发者门户 作者: 今天,再给大家分享一下QQ设置 ...

  9. android 状态栏设置工具栏,Android状态栏工具

    参考了一些文章做了一些修改,变成了自己的工具类.其中有很多地方欠考虑,有待改进,欢迎路过的大佬给点建议. 经过前两篇的介绍我们对如何修改状态栏的效果有了大致的了解,本篇介绍一种使用更加简单的方式 设置 ...

  10. android datepicker设置日期,Android DatePicker

    前言 话说日期时间选择控件许多项目都会用到,今天小可不才,也发一个自己写的日期选择控件 先上图 CC8V2$(JPZ`{WT42ICK7F}K.png demo.gif 1.首先自定义日期选择工具类 ...

最新文章

  1. 快检查一下你的sudo:无需密码就能获取root权限,还是个10年老bug
  2. layoutSubviews何时被调用
  3. 祝贺自己操作系统JAVA项目有进展!!
  4. mac word 设置语言_如何更改Mac的语言和区域设置
  5. [react] 你是如何划分React组件的?
  6. android o 结构光流程,惊艳亮相!一分钟看懂OPPO Find X 3D结构光技术是什么鬼,太牛了...
  7. Python+psutil获取本机所有联网的应用程序信息
  8. 数据绑定表达式语法(Eval,Bind区别)
  9. mysql5.5默认引擎_InnoDB 作为默认存储引擎(从mysql-5.5.5开始)
  10. java的if else if_java,if else和if else if else区别?
  11. 手把手教你使用R语言做评分卡模型
  12. 【附源码】计算机毕业设计SSM汽车租赁管理系统
  13. pyecharts源码解读(15)图表类包charts之组合图表: 选项卡Tab
  14. CAD2014软件安装资料及教程
  15. QT5实现中英文界面动态切换
  16. 开关磁阻电机控制仿真 开关磁阻电机传统控制:电流斩波控制、电压PWM控制、角度位置控制。 智能控制:12/8三相开关磁阻电机有限元分析本体建模
  17. NPDP产品经理小知识:端到端的流程建设与跨职能团队管理
  18. SmartZoneOCR识别控件免费下载地址
  19. 【金猿技术展】基于数据控制三维组态的方法及装置——实现数据驱动三维模型的精准运转技术...
  20. 小学计算机小蘑菇教案,《会走路的小蘑菇》教案

热门文章

  1. 惠普打印机驱动安装找不到打印机
  2. monkey命令的使用
  3. 网页设计Web尺寸规范
  4. ICS TRIPLEX模块T9110、T8461、T8110B、T8480C、T9110、T9451、T9402、T9432、T9110、T9310-02、1433/09232486825、9100
  5. 韦东山freeRTOS系列教程之【第六章】信号量(semaphore)
  6. RDP报表设置Tomcat服务自动启动详细教程
  7. macOS下安装ENVI
  8. linux进入运行exe命令,在Deepin V20系统中打开运行exe文件的两种方法
  9. 离散数学杜忠复版答案_离散数学 杜忠复 陈兆均
  10. 哨兵系列卫星_空客“哥白尼哨兵-1C”卫星雷达天线首次展开双翼