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     }

 

 









免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM