加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

Android代码达成控件按下显示底色效果

发布时间:2021-11-20 15:20:03 所属栏目:教程 来源:互联网
导读:控件设置OnTouchListener,代码如下(控件在xml中需要设置background): btn.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Drawable drawable = v.getBackground(); if (drawable == null)

控件设置OnTouchListener,代码如下(控件在xml中需要设置background):
 
 btn.setOnTouchListener(new OnTouchListener() {
   
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    Drawable drawable = v.getBackground();
    if (drawable == null)
     return false;
   
    if (Integer.parseInt(Build.VERSION.SDK) > Build.VERSION_CODES.DONUT)// 1.6版本以上使用
    {
     drawable.mutate();
    }
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
     drawable.setColorFilter(Color.argb(100, 0, 0, 0), Mode.DST_IN); //此处值可自行调整
     v.setBackgroundDrawable(drawable);
     break;
    case MotionEvent.ACTION_UP:
     drawable.clearColorFilter();
     v.setBackgroundDrawable(drawable);
     break;
    case MotionEvent.ACTION_CANCEL:
     drawable.clearColorFilter();
     v.setBackgroundDrawable(drawable);
     break;
    default:
     break;
    }
    return false;
   }
  });
 
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读