Android攻城狮GridView(主菜单)

GridView布局文件声明GridViewjava里创建GridView 配置
1、准备数据源
2、新建适配器(SimpleAdapter)
3、GridView加载适配器
4、GridView配置监听器(OnItemClickListener)

gridView实现过程:
1.准备数据源
dataList=new ArrayList<Map<String,Object>>();

2.新建适配器(SimpleAdapter)
adapter=new SimpleAdapter(this,getData(),自定义布局,new String[]{"image","text"},new int[]{R.id.image,R.id.text});
(getData方法内容见笔记附录1)

3.gridView加载适配器
gridView.setAdapter(adapter);

4.gridView配置时间监听器(OnItemClickListener)
插入接口OnItemClickListener
gridView.setOnItemClickListener(this);
(onItemClick见笔记附录2)

1.getData方法内部
private List<Map<String,Object>> getData(){
for(int i=0;i<icon.length;i++){
Map<String,Object>map=new HashMap<String,Object>();
map.put("image",icon[i]);
map.put("text",iconName[i]);
dataList.add(map);
}
return dataList;
}

2.public void onItemClick(...){
Toast.makeText(this,"我是"+iconName[position],Toast.LENGTH_SHORT).show();
}
GridView的三种属性:
android:numColumns="" 每一行显示多少列
android:horizontalSpacing="" 两列之间的距离
android:verticalSpacing="" 两行之间的距离
其中,android:numColumns="auto_fit" 将实现自动适配的效果,但实际上可能不好看,还是应该人为规定有多少列数,同时修改ImageButton的大小,本节的示例是将原来的warp_content改成60dp。

清单文件中:android:theme="@android:style/Theme.Black.NoTitleBar"
 1 public class MainActivity extends Activity implements OnItemClickListener {
 2     private GridView gridView;
 3     private List<Map<String, Object>> dataList;
 4
 5     private SimpleAdapter adapter;
 6      int[] icon = { R.drawable.g, R.drawable.h, R.drawable.k,
 7                 R.drawable.th_qq, R.drawable.a, R.drawable.b, R.drawable.c,
 8                 R.drawable.d, R.drawable.f, R.drawable.h, };
 9          String[] iconName = { "小白菜", "土豆", "藕片", "南瓜", "番茄", "土豆", "小白菜",
10                 "西瓜", "木耳", "黄瓜", };
11     @Override
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.fragment_main);
15         gridView=(GridView)findViewById(R.id.gridview1);
16         // 准备数据源
17         // 新建适配器
18         // GridView加载适配器
19         // GridView配置事件监听器(OnItemClinckListener)
20         dataList = new ArrayList<Map<String, Object>>();
21
22         adapter = new SimpleAdapter(this, getDate(), R.layout.item,
23                 new String[] {"image", "text" }, new int[] { R.id.imageView1,
24                         R.id.text });
25         gridView.setAdapter(adapter);
26         gridView.setOnItemClickListener(this);
27     }
28
29     private List<Map<String, Object>> getDate() {
30
31
32         for(int i=0;i<icon.length;i++){
33         Map<String, Object> map=new HashMap<String, Object>();
34         map.put("image", icon[i]);
35         map.put("text", iconName[i]);
36         dataList.add(map);
37
38         }
39         return dataList;
40     }
41     @Override
42     public void onItemClick(AdapterView<?> parent, View view, int position,
43             long id) {
44         // TODO Auto-generated method stub
45
46         Toast.makeText(this, "我是"+iconName[position], 0).show();
47     }
				
时间: 2024-08-02 22:56:43

Android攻城狮GridView(主菜单)的相关文章

创业公司求IOS、Android攻城狮一枚

地点:北京CBD附近(地铁1号线大望路) 魅力值:送珍贵期权 你要会: 1. IOS或者Android开发 2.能够处理类似微视/秒拍的视频录制功能 3.熟悉json 4.做过第三方登录 5.爱学习 6.no zuo 7.工作经验不限 如果你适合,就别再犹豫,发简历到[email protected](饶先生),或者加TA QQ随便骚扰,TA正在求骚扰 创业公司求IOS.Android攻城狮一枚,布布扣,bubuko.com

Android攻城狮OptionsMenu

Android的菜单一共有三种: OptionsMenu 选择菜单 ContextMenu 上下文菜单 SubMenu 子菜单 创建选项菜单: 在 Activity 里面重写 onCreateOptionMenu(),在里面设置菜单项.设置菜单项可以用代码动态地添加:menuadd(); 还可以通过 xml(在里面配置菜单项) 来配置,然后通过MenuInflater.inflate()设置. 然后设置菜单的点击事件,重写 onOptionsItemSelected(). 如图,是menu文件夹

Android攻城狮使用SubMenu创建子菜单

给OptionsMenu选项菜单添加子菜单: 1 public class MainActivity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.fragment_main); 7 8 } 9 10 @Override 11 public

Android攻城狮认识ContextMenu

什么是ContextMenu? 例如Windows系统的右键菜单,在Android中长按某个文件夹,会跳出菜单,这个菜单就是ContextMenu. ContextMenu与OptionMenu的区别 1. OptionMenu对应的是activity,一个activity只能拥有一个选项菜单: 2. ContextMenu对应的是View,每一个View都可以设置上下文菜单: 3. 一般情况下ContextMenu常用于ListView或者GridView. ContextMenu创建方法 首

Android攻城狮CheckBox&amp;RadioGroup&amp;AutoCompleteTextView&amp;MultiAutoCompleteTextView&amp;ToggleButton

给子类加构造函数Source----Generate constractor from superclass 跑马灯效果的实现(Textview 循环): 1.定义textView标签的4个属性: android:singleLine="true"//使其只能单行 android:ellipsize="marquee"//去掉省略号 android:focusable = "true"//得到焦点 android : focusableInTou

Android攻城狮属性动画赏析

1 import android.support.v7.app.ActionBarActivity; 2 import android.support.v7.app.ActionBar; 3 import android.support.v4.app.Fragment; 4 import android.animation.AnimatorSet; 5 import android.animation.ObjectAnimator; 6 import android.animation.Prop

Android攻城狮Handler简介

Handler是什么? Handler是Android提供的一套用来更新UI的机制,也是一套消息处理机制,可以通过它发送消息,也可以通过它处理消息. 所有Activity生命周期回调的方法(例如onCreate().onDestory()等等),都是通过handler机制去发送消息的,然后根据不同的消息(message)做相应的分支处理.例如发送一个消息给 Framework,告知需要调用onCreate()或onDestory()方法.实际上在 Framework 当中,Activity的交互

Android攻城狮布局优化

Android常用的布局样式 1.LinearLayout(线性布局) 线性的 垂直的 水平的 2.RelativeLayout(相对布局) 最灵活的 3.TableLayout(表格布局) 现在被 GridView代替 4.AbsoluteLayout(绝对布局) 已淘汰 5.FrameLayout(帧布局) 布局叠加时使用 现在基本使用线性布局和相对布局,特殊情况会使用帧布局(视频暂停.缓冲文件等). Android布局原则 1.尽量多使用LinearLayout(线性布局)和Relativ

Android攻城狮学习笔记-进阶篇一

第1章 AndroidManifest配置文件 第2章 使用ListView显示信息列表 第3章 使用DatePicker及TimePicker显示当前日期和时间 第4章 使用GridView以表格形式显示多张照片 第5章 使用Spinner实现下拉列表 第6章 使用ProgressBar实现进度条 第7章 使用WebView显示网页 第8章 Fragment基础 第9章 Fragment与Activity通信 第10章 使用ViewPager实现导航 第11章 使用ViewFilpper实现屏