Android编程实现GridView控件点击图片变暗效果的方法

发布时间 - 2026-01-11 01:56:36    点击率:

本文实例讲述了Android编程实现GridView控件点击图片变暗效果的方法。分享给大家供大家参考,具体如下:

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  grid = (GridView) findViewById(R.id.grid);
  grid.setAdapter(new GridAdapter());
  grid.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
      Toast.makeText(MainActivity.this, "ddd", 1000).show();
    }
  });
}
class GridAdapter extends BaseAdapter {
  @Override
  public int getCount() {
    return imgs.length;
  }
  @Override
  public Object getItem(int arg0) {
    return arg0;
  }
  @Override
  public long getItemId(int arg0) {
    return arg0;
  }
  @Override
  public View getView(int arg0, View view, ViewGroup arg2) {
    if (view == null) {
      holder = new ViewHolder();
      view = LayoutInflater.from(MainActivity.this).inflate(
          R.layout.imgs, null);
      holder.view = (ImageView) view.findViewById(R.id.gridimg);
      view.setTag(holder);
    } else {
      holder = (ViewHolder) view.getTag();
    }
    holder.view.setImageResource(imgs[arg0]);
    holder.view.setOnTouchListener(onTouchListener);
    return view;
  }
  class ViewHolder {
    ImageView view;
  }
  public OnTouchListener onTouchListener = new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event) {
      switch (event.getAction()) {
      case MotionEvent.ACTION_UP:
        changeLight((ImageView) view, 0);
        // onclick
        break;
      case MotionEvent.ACTION_DOWN:
        changeLight((ImageView) view, -80);
        break;
      case MotionEvent.ACTION_MOVE:
        // changeLight(view, 0);
        break;
      case MotionEvent.ACTION_CANCEL:
        changeLight((ImageView) view, 0);
        break;
      default:
        break;
      }
      return true;
    }
  };
}
private void changeLight(ImageView imageview, int brightness) {
  ColorMatrix matrix = new ColorMatrix();
  matrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1, 0, 0,
      brightness, 0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 });
  imageview.setColorFilter(new ColorMatrixColorFilter(matrix));
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》

希望本文所述对大家Android程序设计有所帮助。


# Android  # GridView控件  # 点击  # 图片  # 变暗效果  # Android中让图片自适应控件的大小的方法  # Android使用控件ImageView加载图片的方法  # Android进阶篇-自定义图片伸缩控件具体实例  # Android中ImageView.src设置图片拉伸、填满控件的方法  # Android控件ImageSwitcher实现左右图片切换功能  # Android自定义View实现多图片选择控件  # Android实现自定义轮播图片控件示例  # Android 图片网格布局控件示例代码  # Android实现自定义轮播图片控件详解  # Android中利用matrix 控制图片的旋转、缩放、移动  # android 多点触摸图片缩放的具体实现方法  # Android编程实现图片放大缩小功能ZoomControls控件用法实例  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 给大家  # 更多关于  # 所述  # 程序设计  # 变暗  # 讲述了  # gt  # View  # lt  # setOnItemClickListener  # GridAdapter  # OnItemClickListener  # AdapterView  # onItemClick  # int  # ddd 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何在 Pandas 中基于一列条件计算另一列的分组均值  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何在万网ECS上快速搭建专属网站?  如何快速使用云服务器搭建个人网站?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  如何在不使用负向后查找的情况下匹配特定条件前的换行符  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何快速选择适合个人网站的云服务器配置?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何在阿里云通过域名搭建网站?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  网站建设保证美观性,需要考虑的几点问题!  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何快速上传自定义模板至建站之星?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何快速辨别茅台真假?关键步骤解析  如何在万网自助建站平台快速创建网站?  大同网页,大同瑞慈医院官网?  Laravel如何自定义错误页面(404, 500)?(代码示例)  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel如何发送系统通知?(Notification渠道示例)  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Java解压缩zip - 解压缩多个文件或文件夹实例  创业网站制作流程,创业网站可靠吗?  常州企业网站制作公司,全国继续教育网怎么登录?  php json中文编码为null的解决办法  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何基于云服务器快速搭建网站及云盘系统?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  桂林网站制作公司有哪些,桂林马拉松怎么报名?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  javascript基于原型链的继承及call和apply函数用法分析  详解jQuery停止动画——stop()方法的使用