Android之UI学习篇:使用GridView实现九宫格的菜单
来源:互联网 发布:mysql语句优化方法 编辑:程序博客网 时间:2024/05/18 02:40
今天在devdiv论坛里看到有坛友问到九宫格的实现,我把我在项目中用的经验分享一下,九宫格用gridview实现代码。
- 九宫格菜单通常是全屏显示的,那么如何控制某个Activity全屏显示呢,有两种方法:方法一:在该Activity的onCreate函数中添加控制代码:this.requestWindowFeature(Window.FEATURE_NO_TITLE); //设置Activity标题不显示this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置全屏显示注意:这两句代码必须写在setContentView函数的前面,否则运行会报错。方法二:使用XML配置文件进行配置:(1) res/values/目录下新增title.xml文件,用来定义onTitle的样式,代码如下:<?xml version="1.0" encoding="utf-8"?><resources><style name="noTitle"><item name="android:windowNoTitle">true</item></style></resources>(2) 在AndroidManifest.xml文件中,对Activity添加代码:android:theme="@style/noTitle"接下来开始开发九宫格的菜单开发出来的界面截图:开发步骤:(一) 放入图标资源到res/drawble-mdpi/目录下;(二) 在layout下新增item.xml(对于单个格子的布局),代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/ItemImageView"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center"/><TextViewandroid:id="@+id/ItemTextView"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"/></LinearLayout>(三) 编写Layout/main.xml文件,代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><GridView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/MyGridView"android:layout_alignParentTop="true"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:columnWidth="90dp"android:stretchMode="columnWidth"android:numColumns="auto_fit"android:horizontalSpacing="10dp"android:verticalSpacing="10dp"android:gravity="center"></GridView></LinearLayout>(四) MainActivity.java文件代码:public class MainActivity extends Activity {private GridView mGridView; //MyGridView//定义图标数组private int[] imageRes = { R.drawable.png1, R.drawable.png2,R.drawable.png3, R.drawable.png4, R.drawable.png5, R.drawable.png6,R.drawable.png7, R.drawable.png8, R.drawable.png9,R.drawable.png10, R.drawable.png11, R.drawable.png12 };//定义标题数组private String[] itemName = { "审前调查", "需求评估", "在册人员", "请销假", "集中教育","个别教育", "心理测评", "生活量表", "矫正方案", "矫正建议", "出勤统计", "综合查询" };@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置Activity标题不显示this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // 设置全屏显示setContentView(R.layout.main);mGridView = (GridView) findViewById(R.id.MyGridView);List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();int length = itemName.length;for (int i = 0; i < length; i++) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("ItemImageView", imageRes[i]);map.put("ItemTextView", itemName[i]);data.add(map);}//为itme.xml添加适配器SimpleAdapter simpleAdapter = new SimpleAdapter(MainActivity.this,data, R.layout.item, new String[] { "ItemImageView","ItemTextView" }, new int[] { R.id.ItemImageView,R.id.ItemTextView });mGridView.setAdapter(simpleAdapter);//为mGridView添加点击事件监听器mGridView.setOnItemClickListener(new GridViewItemOnClick());}//定义点击事件监听器public class GridViewItemOnClick implements OnItemClickListener {@Overridepublic void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) {Toast.makeText(getApplicationContext(), position + "",Toast.LENGTH_SHORT).show();}}}
阅读全文
0 0
- Android之UI学习篇八:使用GridView实现九宫格的菜单
- Android之UI学习篇:使用GridView实现九宫格的菜单
- Android之UI学习篇:使用GridView实现九宫格的菜单
- 使用GridView实现九宫格的菜单
- Android之GridView的使用(九宫格)
- 采用GridView实现九宫格的菜单
- [Android] 使用 GridView 实现九宫格视图
- Android利用GridView加载九宫格菜单
- GridView之九宫格使用
- Android控件 之 GridView九宫格实现方法一
- Android控件 之 GridView九宫格实现方法二
- Android学习之GridView(九宫图)
- Android中用GridView实现九宫格的两种方法
- Android中用GridView实现九宫格的两种方法
- Android gridview实现简单的九宫格布局
- 使用SimpleAdapter实现的GridView(九宫格)布局
- android Gridview九宫的效果实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- 数组习题及详解
- [LeetCode] 31. Next Permutation
- Codeforces Round #425 (Div. 2)
- oracle解决因drop命令生成临时表名的问题(如表分区)
- Java中CAS详解
- Android之UI学习篇:使用GridView实现九宫格的菜单
- 用单独js文件转thinkphp的U函数
- 协通xt800 anydesk teamview 密码获取
- 模拟用户登录
- form表单文件上传 servlet文件接收
- CSU 1964 Problem_hc(状态压缩dp)
- H
- busybox配置报错
- SVN解锁