Android中GridView(网络视图)使用

来源:互联网 发布:java 流量统计 编辑:程序博客网 时间:2024/05/16 12:59

GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。
GridView常用的XML属性:
 

属性名称

描述

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

两行之间的间距。




在xml文件中定义一个GridView组件

 <GridView 
                android:background="#fffff0"
                android:id="@+id/gview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:numColumns="4"    
                android:columnWidth="80dp"
                android:stretchMode="columnWidth"
                ></GridView>



在activity中,用数组封装数据,List<Map<String, Object>>将数据存入map,获取数据,创建适配器,配置适配器


public class MainActivity extends Activity {
    private GridView gview;
    private List<Map<String, Object>> data_list;
    private SimpleAdapter sim_adapter;
    // 图片封装为一个数组
    private int[] icon = { 
    R.drawable.able_light, R.drawable.air, R.drawable.red_music,R.drawable.curtain,
    R.drawable.pm,R.drawable.life,R.drawable.tv, R.drawable.sensor,
    R.drawable.temperature,R.drawable.unale_light, R.drawable.pex,R.drawable.musice, 
    };
    private String[] iconName = {
    "可调灯", "空调", "红外音乐", "窗帘",
    "PM2.5", "声明监值", "电视","传感器",
    "温湿度","不可调灯", "地热", "泊声音乐"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        gview = (GridView) findViewById(R.id.gview);
        //新建List
        data_list = new ArrayList<Map<String, Object>>();
        //获取数据
        getData();
        //新建适配器
        String [] from ={"image","text"};
        int [] to = {R.id.image,R.id.text};
        sim_adapter = new SimpleAdapter(this, data_list, R.layout.item, from, to);
        //配置适配器
        gview.setAdapter(sim_adapter);
    }


    
    
    public List<Map<String, Object>> getData(){        
        //cion和iconName的长度是相同的,这里任选其一都可以
        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]);
            data_list.add(map);
        }
            
        return data_list;
    }
    


}


0 0
原创粉丝点击