Android API中文文檔GridView
Android API中文文檔GridView是本文要介紹的內容,主要是來了解并學習Android API的內容,具體Android API內容的詳解來看本文。
一、Android API結構
- publicfinalclassGridViewextendsAbsListView
 - java.lang.Object
 - android.view.View
 - android.view.ViewGroup
 - android.widget.AdapterView
 - android.widget.AbsListView
 - android.widget.GridView
 
二、Android API類概述
Android API中一個在平面上可顯示多個條目的可滾動的視圖組件,該組件中的條目通過一個ListAdapter和該組件進行關聯。比如android手機中顯示的應用:

比如實現九宮格圖,用GridView是***,也是最簡單的。
三、Android API構造函數
- public Grid View(Contextcontext)
 
創(chuàng)建一個默認屬性的GridView實例
- public GridView(Contextcontext,AttributeSetattrs)
 
創(chuàng)建一個帶有attrs屬性的GridView實例
- public GridView (Contextcontext,AttributeSetattrs,intdefStyle)
 
創(chuàng)建一個帶有attrs屬性,并且指定其默認樣式的GridView實例
四、Android API中XML屬性
屬性名稱描述
android:columnWidth設置列的寬度。關聯的方法為:setColumnWidth(int)
android:gravity設置此組件中的內容在組件中的位置。可選的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多選,用“|”分開。關聯方法:setGravity(intgravity)
android:horizontalSpacing兩列之間的間距。關聯方法:setHorizontalSpacing(int)
android:numColumns列數。關聯方法:setNumColumns(int)
android:stretchMode縮放模式。關聯方法:setStretchMode(int)
android:verticalSpacing兩行之間的間距。關聯方法:setVerticalSpacing(int)
五、Android API公共方法
- publicListAdaptergetAdapter()
 
獲得與此組件相關的適配器..
返回值
ListAdapter適配器實例
publicintgetStretchMode()
獲得GridView的縮放模式..
- public boolean onKeyDown (intkeyCode,KeyEventevent)
 
默認由KeyEvent.Callback.onKeyMultiple()實現,如果視圖是可用的并且是可點擊的,那么傳入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是執(zhí)行的是按下視圖操作。
參數
keyCode一個表示按下操作的鍵值.
event表示按鈕事件的對象.
返回值
如果你認為已經完成事件處理,不想讓讓下一個處理器來處理此事件,則返回true,否則返回false。
- public boolean onKeyMultiple(intkeyCode,intrepeatCount,KeyEventevent)
 
默認由KeyEvent.Callback.onKeyMultiple()實現,總是返回false(不處理此事件)。
參數
keyCode鍵值.
repeatCount該動作發(fā)生的次數.
event事件對象.
返回值
如果你認為已經完成事件處理,不想讓讓下一個處理器來處理此事件,則返回true,否則返回false。
- public booleanonKeyUp(intkeyCode,KeyEventevent)
 
默認由KeyEvent.Callback.onKeyMultiple()實現,如果視圖是可用的并且是可點擊的,那么傳入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是執(zhí)行的是點擊視圖操作。
參數
keyCode鍵值.
event事件對象.
返回值
如果你認為已經完成事件處理,不想讓讓下一個處理器來處理此事件,則返回true,否則返回false。
- public void setAdapter (ListAdapteradapter)
 
設置GridView的數據。
參數
adapter為grid提供數據的適配器
- publicvoidsetColumnWidth(intcolumnWidth)
 
設置GridView的列寬.
參數
columnWidth列的寬度,以像素為單位
publicvoidsetGravity(intgravity)
設置控件內容的位置,默認值為:Gravity.LEFT.
參數
gravity位置值
- publicvoidsetHorizontalSpacing(inthorizontalSpacing)
 
設置列間距.
參數
horizontalSpacing列間距值
- public void setNumColumns(intnumColumns)
 
設置grid的列數
參數
numColumns列數值.
- public void setSelection (intposition)
 
設置選中的條目.
參數
position.數據條目在列表中的索引值(從0開始),如果在可觸摸的模式下,在該索引值下的條目將不會被選中,但是該索引值仍然指向該條目。
- public void setStretchMode(intstretchMode)
 
設置grid中的條目以什么縮放模式去填充空間。.
參數
stretchMode可選值:NO_STRETCH,STRETCH_SPACING,STRETCH_SPACING_UNIFORM,或STRETCH_COLUMN_WIDTH
- public void setVertical Spacing(intverticalSpacing)
 
設置行間距.
參數
verticalSpacing間距值,以像素為單位
六、Android API代碼示例
下面給出一個小例子,先看效果:

- 1、GridView01.java
 - public class GridView01 extends Activity {
 - private GridView gridview;
 - @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - // TODO Auto-generated method stub
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.gridview);
 - //準備要添加的數據條目
 - List<Map<String, Object>> items = new ArrayList<Map<String,Object>>();
 - for (int i = 0; i < 10; i++) {
 - Map<String, Object> item = new HashMap<String, Object>();
 - item.put("imageItem", R.drawable.icon);
 - item.put("textItem", "text" + i);
 - items.add(item);
 - }
 - //實例化一個適配器
 - SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.grid_item,
 - new String[]{"imageItem", "textItem"}, new int[]{R.id.image_item, R.id.text_item});
 - //獲得GridView實例
 - gridview = (GridView)findViewById(R.id.mygridview);
 - //gridview.setNumColumns(3);//可以在xml中設置
 - //gridview.setGravity(Gravity.CENTER);//同上
 - //將GridView和數據適配器關聯
 - gridview.setAdapter(adapter);
 - }
 - }
 - 2、gridview.xml
 - <?xml version="1.0" encoding="utf-8"?>
 - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content">
 - <GridView android:id="@+id/mygridview"
 - android:numColumns="3"
 - android:gravity="center_horizontal"
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content">
 - </GridView>
 - </LinearLayout>
 - 3、grid_item.xml
 - <?xml version="1.0" encoding="utf-8"?>
 - <RelativeLayout android:id="@+id/RelativeLayout01"
 - android:layout_width="fill_parent" android:layout_height="fill_parent"
 - xmlns:android="http://schemas.android.com/apk/res/android">
 - <ImageView android:id="@+id/image_item"
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content">
 - </ImageView>
 - <TextView android:id="@+id/text_item"
 - android:layout_below="@+id/image_item"
 - android:layout_height="wrap_content"
 - android:layout_width="wrap_content">
 - </TextView>
 - </RelativeLayout>
 
小結:
Android API中文文檔GridView的內容介紹完了,希望通過Android API內容的學習能對你有所幫助!















 
 
 



 
 
 
 