zoukankan      html  css  js  c++  java
  • GridView 二维排布

    与ListView一维排布相对

    public class MainActivity extends Activity implements AdapterView.OnItemClickListener{
        private GridView gv;
        private int[] icon = {
                R.drawable.address_book,R.drawable.calendar,R.drawable.camera,
                R.drawable.clock,R.drawable.games_control,R.drawable.messenger,
                R.drawable.ringtone,R.drawable.settings,R.drawable.youtube
        };
        private String[] name = {
                "address_book" , "calendar" , "camera" ,
                "clock" ,"games_control", "messenger" ,
                "ringtone" , "settings" ,"youtube"
        };
        private List<Map<String,Object>> listdata;
        private SimpleAdapter sim_adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //注册控件
            gv = (GridView)findViewById(R.id.gridView);
            //数据源
            listdata = new ArrayList<Map<String,Object>>();
    
            //适配器
            sim_adapter = new SimpleAdapter(this,getData(),R.layout.buju,new String[]{"pic", "txt"},new int[]{R.id.pic,R.id.txt});
    
            //GridView与适配器绑定
            gv.setAdapter(sim_adapter);
            gv.setOnItemClickListener(this);
    
    
        }
    
        private  List<Map<String,Object>> getData(){
            for(int i = 0 ; i < icon.length ; i++){
                Map<String,Object> map = new HashMap<String, Object>();
                map.put("pic",icon[i]);
                map.put("txt",name[i]);
                listdata.add(map);
            }
            return listdata;
        }
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(this,"这里是:"+ name[position],Toast.LENGTH_SHORT).show();
        }
    

      

    gridview 三个常用的属性
    numcolumns :每一行显示多少列 列数 可以自动适配 auto_fit
    horizontalspacing 两列之间的间距 其实翻译过来就是水平之间的距离 就是两列之间的距离
    verticalspacing 行距 垂直之间的距离

        android:numColumns="3"              分为3列
        android:horizontalSpacing="10dp"    每列间距10dp
        android:verticalSpacing="10dp"      每行间距10dp
        <GridView
            android:layout_marginTop="10dp"
            android:numColumns="3"              
            android:horizontalSpacing="10dp"
            android:verticalSpacing="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/gridView" />
    

     GridView监听事件 OnItemClickListener

  • 相关阅读:
    每位设计师都应该拥有的50个CSS代码片段-1
    JS OO库的选择
    Dean Edwards -- Base.js(译)
    Jquery中find、filter等几种用法的差异
    深入Java虚拟机读书笔记第三章安全
    深入Java虚拟机读书笔记第二章平台无关性
    深入Java虚拟机读书笔记第一章Java体系结构介绍
    ThinkInJava4读书笔记之第七章隐藏实施过程
    Java反射机制(转载)
    linux常用svn命令(转载)
  • 原文地址:https://www.cnblogs.com/zmaibbs7/p/4838306.html
Copyright © 2011-2022 走看看