本文将带你了解Android应用开发Android ImageView点击变暗效果,希望本文对大家学Android有所帮助。
<
安卓手机亮度怎么调到更暗?自定义ImageView;
在ImageView中setPressed(boolean pressed)方法返回ImageView是否被选中的状态;当pressed为ture时,控件被选中;当pressed为false时,控件未被选中;自定义ImageView同过判断pressed的状态改变ImageView图片;
** * Created by minghao_zl on 14-9-17. * 公共的蒙版ImageView(点击变暗效果) */ public class MaskableImageView extends ImageView{ private boolean touchEffect = true; public final float[] BG_PRESSED = new float[] { 1, 0, 0, 0, -50, 0, 1, 0, 0, -50, 0, 0, 1, 0, -50, 0, 0, 0, 1, 0 }; public final float[] BG_NOT_PRESSED = new float[] { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 }; public MaskableImageView(Context context) { super(context); } public MaskableImageView(Context context, AttributeSet attrs) { super(context, attrs); } public MaskableImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void setPressed(boolean pressed) { updateView(pressed); super.setPressed(pressed); } /** * 根据是否按下去来刷新bg和src * created by minghao.zl at 2014-09-18 * @param pressed */ private void updateView(boolean pressed){ //如果没有点击效果 if( !touchEffect ){ return; }//end if if( pressed ){//点击 /** * 通过设置滤镜来改变图片亮度@minghao */ this.setDrawingCacheEnabled(true); this.setColorFilter( new ColorMatrixColorFilter(BG_PRESSED) ) ; this.getDrawable().setColorFilter( new ColorMatrixColorFilter(BG_PRESSED) ); }else{//未点击 this.setColorFilter( new ColorMatrixColorFilter(BG_NOT_PRESSED) ) ; this.getDrawable().setColorFilter( new ColorMatrixColorFilter(BG_NOT_PRESSED)); } } }
android imageview、本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态