- 浏览: 198660 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xyyx_nk:
在demo中没有下载的示例,能详细说一下怎么监听下载过程吗?比 ...
DhNet 网络http工具(带缓存功能哦) -dhroid文档 -
zhaoguowei998:
dhroid ioc模块对 加密混淆问题 -
zhaoguowei998:
你太牛了,佩服佩服,以后要多想你请教了
dhroid ioc模块对 加密混淆问题 -
白色蜻蜓:
转载下您的文章,已注明出处。
IOS开发之百度地图API应用 -
wenjiefeng:
你好,在andrioidpn-client客户端源码里,Not ...
Android 推送之原理与初触Androidpn(Android Push Notification)
通常情况下,我们可以采用如下方式实现:
- <?xml version="1.0" encoding="UTF-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="false" android:drawable="@drawable/button_add" />
- <item android:state_pressed="true" android:drawable="@drawable/button_add_pressed" />
- <item android:state_focused="true" android:drawable="@drawable/button_add_pressed" />
- <item android:drawable="@drawable/button_add" />
- </selector>
把这个文件放在drawable目录下面。命名为button_add_x.xml
使用的时候:
- <ImageButton
- android:id="@+id/ImageButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="#00000000"
- android:src="@drawable/button_add_x" />
这样的实现过程虽然通用性好,但是很麻烦,一个按钮实现效果需要多张图片甚至再加一个布局…
那一个游戏要是有几百个按钮怎么办呢?
于是:以下代码被酝酿出来了:
- /**
- * 按下这个按钮进行的颜色过滤
- */
- public final static float[] BT_SELECTED=new float[] {
- 2, 0, 0, 0, 2,
- 0, 2, 0, 0, 2,
- 0, 0, 2, 0, 2,
- 0, 0, 0, 1, 0 };
- /**
- * 按钮恢复原状的颜色过滤
- */
- public final static float[] BT_NOT_SELECTED=new float[] {
- 1, 0, 0, 0, 0,
- 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 0,
- 0, 0, 0, 1, 0 };
- /**
- * 按钮焦点改变
- */
- public final static OnFocusChangeListener buttonOnFocusChangeListener=new OnFocusChangeListener() {
- @Override
- public void onFocusChange(View v, boolean hasFocus) {
- if (hasFocus) {
- v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_SELECTED));
- v.setBackgroundDrawable(v.getBackground());
- }
- else
- {
- v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_NOT_SELECTED));
- v.setBackgroundDrawable(v.getBackground());
- }
- }
- };
- /**
- * 按钮触碰按下效果
- */
- public final static OnTouchListener buttonOnTouchListener=new OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if(event.getAction() == MotionEvent.ACTION_DOWN){
- v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_SELECTED));
- v.setBackgroundDrawable(v.getBackground());
- }
- else if(event.getAction() == MotionEvent.ACTION_UP){
- v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_NOT_SELECTED));
- v.setBackgroundDrawable(v.getBackground());
- }
- return false;
- }
- };
- /**
- * 设置图片按钮获取焦点改变状态
- * @param inImageButton
- */
- public final static void setButtonFocusChanged(View inView)
- {
- inView.setOnTouchListener(buttonOnTouchListener);
- inView.setOnFocusChangeListener(buttonOnFocusChangeListener);
- }
使用时,调用方法public final static void setButtonFocusChanged(View inView)即可。
【原理】
利用Drawable类的setColorFilter方法对图片进行颜色偏移过滤处理。
以下为效果图,登陆按钮此时为获取焦点状态。
代码可以适当修改实现3个不同的状态:正常,获取焦点,点击。
http://blog.csdn.net/sytzz/article/details/5673662
发表评论
-
Dhdb 简化sqlite数据库操作--dhroid文档
2014-04-15 12:30 1309android数据库其实使用的不多,dhroid框架中的 ... -
dhroid ioc模块对 加密混淆问题
2014-04-14 12:52 921大家应该已经看过ioc ... -
NetJSONAdapter 网络化的adapter(高效) -dhroid文档
2014-04-04 12:15 843关于adapter 我想对于大家来说已经不陌生了,基本应用 ... -
DhNet 网络http工具(带缓存功能哦) -dhroid文档
2014-03-24 13:36 1401网络请求是大多数应用不可获取的一部分,曾经和一个其他公司的 ... -
eventbus 事件总线-dhroid文档
2014-03-23 11:47 1212你听过onClick 事件,onItemClick 事件, ... -
ioc基础(视图,资源,assert注入)-dhroid文档
2014-03-21 12:59 821上一节 Android 极速开发框架 dhroid来了 ... -
ioc高级(接口,对象注入)-dhroid文档
2014-03-21 13:04 1085前一章 ioc基础( ... -
IOC容器详解(想晋升的进来)---dhroid框架教教程(一)
2014-03-20 10:30 942控制反转(Inversion of Control,英文缩写 ... -
Android 极速开发框架 dhroid来了(提供demo)
2014-03-19 17:24 1338我们公司内部使用的商业级android开发框架dhr ... -
HttpClient的3种超时说明
2013-03-14 11:05 851/* 从连接池中取连接的超时时间 */ConnManag ... -
android中当EditText获得焦点时屏幕下面的控件移位
2013-01-27 21:15 1034这几天在写一个Anroid App时,在最下面写了一个工具栏, ... -
MeasureSpec介绍及使用详解
2013-01-24 21:21 728一个MeasureSpec封装了父 ... -
android 4.0 以上平台选择图片报错Attempted to access a cursor after it has been closed.
2013-01-20 15:32 1139android 4.0 以上平台选择图片报错Attempte ... -
Android使用自定义AlertDialog
2012-12-28 11:48 799Android使用自定义AlertDialog以下的代码是写在 ... -
android textview 添加下划线 中划线 删除线
2012-12-26 22:22 1155tv=(TextView)findViewById(R.id. ... -
Android学习——TextView 设置中划线 下划线
2012-10-31 14:42 3431android:textAppearance ... -
ListView与其中的Button,EditText,RatingBar等widget的click事件
2012-10-26 14:48 812在<RelativeLayout>中 an ... -
Android PNG渐变背景图片失真问题
2012-09-13 15:06 722最近一个困扰很久的问题,渐变效果的png图片,设置为控件 ... -
在线词典API
2012-09-09 19:34 687QQ词典 http://dict.qq.com/dic ... -
android Uri获取真实路径转换成File的方法
2012-08-23 12:40 3026data.getData()返回的 ...
相关推荐
主要介绍了Android ImageButton自定义按钮的按下效果的代码实现方法,需要的朋友可以参考下
wince 按钮控件 自定义按钮 编译后把dll拖入你的项目控件库 再从控件库拖出即可使用
自定义按钮,可设置为纯文本 、纯图片,或者文本和图片的组合,可自定义文本和图片的对齐方式。文本颜色 、边框也可自定义。适合用来做导航按钮 、操作按钮等。源码借鉴大神,是在大神的基础上做了一些修改。
android下的自定义图片按钮,ImageButton
从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们就可以使用它做一个我们想要的图片按钮了,但是我们在实际使用的过程当中,就会发现该按钮的使用并没有想像中的那么简单,需要再增加一些代码或再配置...
Android UI编程自定义控件ImageButton
Flex4 自定义通用ImageButton
安卓Android源码——(ImageButton图片按钮).zip
ImageButton图片按钮
自己实现的一个 WPF ImageButton 用户自定义控件,适合初学者
android写的自定义控件的demo,比较简单基础的例子学习自定义控件。
Android ImageButton图片按钮Demo源码.rar
安卓Android源码——(ImageButton图片按钮).rar
ImageButton,WINCE,自定义图片按钮控件的实现,C#,可以在wince环境里调试
由于项目这种类型的图片按钮比较多,所以重写了ImageButton类。 代码如下:package me.henji.widget; import android.content.Context;import android.graphics.ColorMatrix;import android.graphics....
在实际开发中Android中自带的控件有时无法满足我们的需求,...比如我想使Button有按下和弹起效果还可以写文字,就没有哪个原生的控件能满足我们的需求,在这里我选择重载ImageButton,在ImageButton的基础上添加文字
可以设置鼠标按下后显示的图片,从而做出比较炫目的效果
实现自定义的VC++ button.基本的集成CButton的实现方法。
图片按钮网上虽然有很多,但总觉得不合用。不得以,只能自己写了。拿出来跟大家分享一下。 该图片按钮继承了Button,最大特点是支持按钮拉伸,也就是说不同大小的按钮只用一张图片就可以了。