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


相关推荐: 国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel如何配置任务调度?(Cron Job示例)  香港网站服务器数量如何影响SEO优化效果?  JavaScript Ajax实现异步通信  🚀拖拽式CMS建站能否实现高效与个性化并存?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  html5的keygen标签为什么废弃_替代方案说明【解答】  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  EditPlus中的正则表达式 实战(4)  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  长沙做网站要多少钱,长沙国安网络怎么样?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Python制作简易注册登录系统  网易LOFTER官网链接 老福特网页版登录地址  高防服务器如何保障网站安全无虞?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  如何在服务器上三步完成建站并提升流量?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Python文件操作最佳实践_稳定性说明【指导】  Python进程池调度策略_任务分发说明【指导】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何选择PHP开源工具快速搭建网站?  浅谈javascript alert和confirm的美化  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel API资源类怎么用_Laravel API Resource数据转换  香港服务器租用费用高吗?如何避免常见误区?  如何在IIS服务器上快速部署高效网站?  网站制作软件有哪些,制图软件有哪些?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  iOS发送验证码倒计时应用  大连 网站制作,大连天途有线官网?  微信推文制作网站有哪些,怎么做微信推文,急?  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  使用spring连接及操作mongodb3.0实例  免费视频制作网站,更新又快又好的免费电影网站?