这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
这篇文章主要介绍了 Android 编程实现 GridView 控件点击图片变暗效果的方法, 简单分析了 GridView 控件事件响应及属性操作的相关技巧, 需要的朋友可以参考下
本文实例讲述了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0709/336609.html