当前位置:操作系统 > 安卓/Android >>

Android GridView九宫图

属性名称 描述
android:columnWidth 设置列的宽度。
android:gravity 设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。
android:horizontalSpacing 两列之间的间距。
android:numColumns 设置列数。
android:stretchMode 缩放模式。
android:verticalSpacing 两行之间的间距。


 案例一:
1.定义一个布局文件:
01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03     android:layout_width="wrap_content"
04     android:layout_height="wrap_content">
05     <GridView
06         android:id="@+id/gridview_main"
07         android:layout_width="wrap_content"
08         android:layout_height="wrap_content"
09         android:numColumns="auto_fit"
10         android:verticalSpacing="1dp"
11         android:horizontalSpacing="1dp"
12         android:columnWidth="90dp"
13         android:stretchMode="columnWidth"
14         android:gravity="center"
15         >
16     </GridView>
17 </LinearLayout>
 android:numColumns="auto_fit"--列数设置为自动;
1 android:columnWidth="90dp"--每列的列宽,也就是item的宽度
1 android:verticalSpacing="1dp"--两行之间的边距
1 android:horizontalSpacing="1dp"--两列之间的边距
1 android:stretchMode="columnWidth"--缩放与列宽大小同步
 2。接下来定义
01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03     android:layout_width="wrap_content"
04     android:layout_height="wrap_content"
05     android:orientation="vertical"
06     >
07     <ImageView
08         android:id="@+id/gridview_imageview"
09         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11      >
12     </ImageView>
13     <TextView
14         android:id="@+id/gridview_textview"
15         android:layout_width="wrap_content"
16         android:layout_height="wrap_content"
17         android:text="TextView01"
18         android:gravity="center"
19       />
20 </LinearLayout>
3.最后定义Java的源代码了,
01 package com.test;
02 import java.util.ArrayList;
03 import java.util.HashMap;
04 import android.app.Activity;
05 import android.os.Bundle;
06 import android.view.View;
07 import android.widget.AdapterView;
08 import android.widget.AdapterView.OnItemClickListener;
09 import android.widget.GridView;
10 import android.widget.SimpleAdapter;
11 public class GridViewDemo extends Activity {
12     int [] image={R.drawable.android,R.drawable.blackberry,R.drawable.windowshone,R.drawable.windowshone,R.drawable.blackberry,R.drawable.android,R.drawable.windowshone,R.drawable.ios,R.drawable.blackberry};
13     private GridView gridView;
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         // TODO Auto-generated method stub
17         super.onCreate(savedInstanceState);
18         
19         setContentView(R.layout.gridview_main);
20         
21         gridView = (GridView)findViewById(R.id.gridview_main);
22         //生成动态数组,并且转入数据
23         ArrayList<HashMap<String, Object>>  list=new ArrayList<HashMap<String,Object>>();
24         
25         for(int i=0;i<9;i++)
26         {
27             HashMap<String, Object>  map = new HashMap<String, Object>();
28             
29                map.put("ItemImage", image[i]);//添加图像资源的ID
30                map.put("itemtext","Amigos_pop-"+String.valueOf(i));
31                list.add(map);
32         }
33          //生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
34         SimpleAdapter   adapter=new SimpleAdapter(this, //数据来源
35                 list,R.layout.gridview_item,//XML实现
36                 new String[]{"ItemImage","itemtext"}, //动态数组与ImageItem对应的子项        
37                 new int[]{R.id.gridview_imageview,R.id.gridview_textview}//  //ImageItem的XML文件里面的一个ImageView,两个TextView ID
38                );
39          //添加并且显示
40         gridView.setAdapter(adapter);
41      &

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,