博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
阅读量:6706 次
发布时间:2019-06-25

本文共 4008 字,大约阅读时间需要 13 分钟。

需要达到的效果是:点击菜单中选项,添加表情图标,图标放在一个dialog类型的activity中:

首先在manifest中注册这个activity:

1        

使用GridView布局,显示图标

icon_dialog_activity.xml

1 
2
10
21

Java文件中,如下使用

1 public class IconDialog extends Activity  {  2     @Override  3     protected void onCreate(Bundle savedInstanceState) {  4         super.onCreate(savedInstanceState);  5         setContentView(R.layout.icon_dialog_activity);  6         //取得GridView对象  7         GridView gridview = (GridView) findViewById(R.id.gridview);          8         //添加元素给gridview  9         gridview.setAdapter(new ImageAdapter(this)); 10         // 设置Gallery的背景 11         gridview.setBackgroundResource(R.drawable.paper_01); 12         //事件监听 13         gridview.setOnItemClickListener(new OnItemClickListener() { 14             public void onItemClick(AdapterView
parent, View v, int position, long id) 15 { 16 Toast.makeText(IconDialog.this, " the " + (position + 1) , Toast.LENGTH_SHORT).show(); 17 18 Intent resultValue = new Intent(IconDialog.this,MiniNoteConfige.class); 19 resultValue.putExtra("icon",position); 20 setResult(RESULT_OK, resultValue); 21 finish(); 22 } 23 }); 24 } 25 26 public class ImageAdapter extends BaseAdapter{ 27 // 定义Context 28 private Context mContext; 29 // 定义整型数组 即图片源 30 private Integer[] mImageIds = { 31 R.drawable.clip1, 32 R.drawable.clip2, 33 R.drawable.clip3, 34 R.drawable.clip4, 35 R.drawable.clip5, 36 R.drawable.clip6, 37 R.drawable.clip7, 38 R.drawable.clip8, 39 R.drawable.clip9, 40 R.drawable.clip10, 41 R.drawable.clip11, 42 R.drawable.clip12, 43 R.drawable.clip13, 44 R.drawable.clip14, 45 R.drawable.clip15, 46 R.drawable.clip16, 47 R.drawable.clip17, 48 R.drawable.clip18, 49 R.drawable.clip19, 50 R.drawable.clip20, 51 R.drawable.clip21, 52 R.drawable.clip22, 53 R.drawable.clip23, 54 R.drawable.clip24, 55 R.drawable.clip25, 56 R.drawable.clip26, 57 R.drawable.clip27, 58 R.drawable.clip28 59 }; 60 61 public ImageAdapter(Context c){ 62 mContext = c; 63 } 64 65 // 获取图片的个数 66 public int getCount(){ 67 return mImageIds.length; 68 } 69 70 // 获取图片在库中的位置 71 public Object getItem(int position){ 72 return position; 73 } 74 75 76 // 获取图片ID 77 public long getItemId(int position){ 78 return position; 79 } 80 81 public View getView(int position, View convertView, ViewGroup parent) 82 { 83 ImageView imageView; 84 if (convertView == null){ 85 // 给ImageView设置资源 86 imageView = new ImageView(mContext); 87 // 设置布局 图片120×120显示 88 imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 89 // 设置显示比例类型 90 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 91 }else 92 { 93 imageView = (ImageView) convertView; 94 } 95 96 imageView.setImageResource(mImageIds[position]); 97 return imageView; 98 } 99 }100 }

跳转界面,显示图标界面

1 Intent intent = new Intent(MiniNoteConfige.this, IconDialog.class);  2 startActivityForResult(intent, RESULT_FOR_ICON);

至于图标返回接收问题,我还没有找到更好的方法,这里就不写了

转载于:https://www.cnblogs.com/zjqlogs/archive/2012/12/25/2832519.html

你可能感兴趣的文章
Vue基础知识总结(一)
查看>>
使用JNA解决自动化测试无法做密码输入操作的问题
查看>>
Android ViewDragHelper完全解析 自定义ViewGroup神器
查看>>
mysql简单优化思路
查看>>
tomcat并发优化之三种接收处理请求方式(BIO、NIO、APR)介绍
查看>>
归并排序的实现
查看>>
[日常] C语言中的字符数组和字符串
查看>>
from disk cache 与 from memory cache
查看>>
应用图片加载服务与第三方实现库的解耦
查看>>
高并发的核心技术-幂等的实现方案
查看>>
微波炉炖蛋
查看>>
C#调用C/C++ DLL 参数传递和回调函数的总结
查看>>
非spring组件servlet、filter、interceptor中注入spring bean
查看>>
SQL Server中SELECT会真的阻塞SELECT吗?
查看>>
class path and classloader
查看>>
文字检测与识别 资源
查看>>
外包筛选心得
查看>>
Warning: skipping non-radio button in group
查看>>
Android 悬浮窗权限校验
查看>>
mysql 创建数据库 并设置utf8格式
查看>>