ListActivity的使用
ListActivity類中集成了一個ListView控件。
通過繼承ListActivity類可方便地使用ListView控件

1 public class 類名extends ListActivity { 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate (savedInstanceState); 4 //獲取資源文件中的數組 5 String [] data=getResources().getStringArray(R.array.city); 6 ArrayAdapter<String> adapter=new ArrayAdapter<String> (this, 7 android.R.layout.simple_list_item_multiple_choice,data); //樣式為復選框 8 setListAdapter (adapter); 9 ListView listView=getListView (); //獲取ListActivity自帶的ListView對象 10 //設置ListView的選擇行為:復選 11 listView.setChoiceMode (ListView.CHOICE_MODE_MULTIPLE); 12 } 13 }
網格列表GridView(按多行多列顯示信息)
方法 |
屬性 |
描述 |
public GridView(Context context) |
|
創建GridView對象 |
public void setStretchMode(int stretchMode) |
android:stretchMode |
縮放模式 |
public void setVerticalSpacing(int verticalSpacing) |
android: verticalSpacing |
設置垂直間距 |
public void setHorizontalSpacing(int horizontalSpacing) |
android: horizontalSpacing |
設置水平間距 |
public void setNumColumns(int numColumns) |
android: numColumns |
設置每列顯示的數據量,若設置為auto——fit則表示自動設置 |
public void setSelection(int position) |
|
設置默認選中項 |
public void setGravity(int gravity) |
android: gravity |
設置對齊模式,由Grivity類指定 |
public void setAdapter(ListAdapter adapter) |
|
設置圖片集 |

<LinearLayout android: layout_width="fill_parent" android: layout_height="fill_parent"> <ImageView android:id="@+id/Img" android: layout_width="90dp" android: layout_height="100dp" android:scaleType="fitXY" //設置所有圖片大小一致 android:padding="1px"/> //設置四周邊距為1像素 </LinearLayout>

<LinearLayout android: layout_width="fill_parent" android: layout_height="fill_parent"> <GridView android:id="@+id/gv" android: layout_width="fill_parent" android: layout_height="fill_parent" android:numColumns="3" //設置所有圖片大小一致 android:stretchMode="columnWidth"/> //設置所有圖片大小一致 </LinearLayout>

1 GridView gv = (GridView) findViewById(R.id.gv); //找到控件 2 Field[] fields = R.drawable.class.getDeclaredFields(); //讀到png結尾的圖片 3 List<Map<String, Integer>> data = new ArrayList<Map<String, Integer>>(); 4 for (Field field : fields) { 5 Map<String, Integer> map = new HashMap<String, Integer>(); 6 try { 7 map.put("img", field.getInt(R.drawable.class)); 8 data.add(map); 9 } catch (IllegalArgumentException e) { 10 e.printStackTrace(); 11 } catch (IllegalAccessException e) { 12 e.printStackTrace(); 13 } 14 } 15 SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.gridview0, 16 new String[] { "img" },new int[] { R.id.GImg }); //創建適配器 17 gv.setAdapter(adapter); //添加GridView對象 18 19 gv.setOnItemClickListener(new OnItemClickListener() { 20 public void onItemClick(AdapterView<?> adp, View view, int position, long arg) { 21 Map<String, Integer> map= (Map<String, Integer>)adp.getItemAtPosition(position); 22 int imgId=map.get("img"); 23 ImageView iv=new ImageView(GridView0.this); 24 iv.setScaleType(ImageView.ScaleType.CENTER); 25 iv.setImageResource(imgId); 26 final Dialog da=new AlertDialog.Builder(GridView0.this).setTitle("展示圖片").setView(iv).create(); 27 new Thread(){ //設置線程,讓對話框在5秒后關閉 28 public void run(){ 29 try { 30 Thread.sleep(5000); 31 } catch (InterruptedException e) { 32 e.printStackTrace(); 33 }finally{ 34 da.dismiss(); 35 } 36 } 37 }.start(); 38 da.show(); 39 } 40 });