溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android API怎么用

發(fā)布時(shí)間:2021-12-03 10:28:23 來(lái)源:億速云 閱讀:229 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要為大家展示了“Android API怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Android API怎么用”這篇文章吧。

一、Android API結(jié)構(gòu)

publicfinalclassGridViewextendsAbsListView  java.lang.Object  android.view.View  android.view.ViewGroup  android.widget.AdapterView  android.widget.AbsListView  android.widget.GridView

二、Android API類概述

Android API中一個(gè)在平面上可顯示多個(gè)條目的可滾動(dòng)的視圖組件,該組件中的條目通過(guò)一個(gè)ListAdapter和該組件進(jìn)行關(guān)聯(lián)。比如android手機(jī)中顯示的應(yīng)用:

Android API怎么用

比如實(shí)現(xiàn)九宮格圖,用GridView是***,也是最簡(jiǎn)單的。

三、Android API構(gòu)造函數(shù)

public Grid View(Contextcontext)

創(chuàng)建一個(gè)默認(rèn)屬性的GridView實(shí)例

public GridView(Contextcontext,AttributeSetattrs)

創(chuàng)建一個(gè)帶有attrs屬性的GridView實(shí)例

public GridView (Contextcontext,AttributeSetattrs,intdefStyle)

創(chuàng)建一個(gè)帶有attrs屬性,并且指定其默認(rèn)樣式的GridView實(shí)例

四、Android API中XML屬性

屬性名稱描述

android:columnWidth設(shè)置列的寬度。關(guān)聯(lián)的方法為:setColumnWidth(int)

android:gravity設(shè)置此組件中的內(nèi)容在組件中的位置??蛇x的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多選,用“|”分開。關(guān)聯(lián)方法:setGravity(intgravity)

android:horizontalSpacing兩列之間的間距。關(guān)聯(lián)方法:setHorizontalSpacing(int)

android:numColumns列數(shù)。關(guān)聯(lián)方法:setNumColumns(int)

android:stretchMode縮放模式。關(guān)聯(lián)方法:setStretchMode(int)

android:verticalSpacing兩行之間的間距。關(guān)聯(lián)方法:setVerticalSpacing(int)

五、Android API公共方法

publicListAdaptergetAdapter()

獲得與此組件相關(guān)的適配器..

返回值

ListAdapter適配器實(shí)例

publicintgetStretchMode()

獲得GridView的縮放模式..

public boolean onKeyDown (intkeyCode,KeyEventevent)

默認(rèn)由KeyEvent.Callback.onKeyMultiple()實(shí)現(xiàn),如果視圖是可用的并且是可點(diǎn)擊的,那么傳入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是執(zhí)行的是按下視圖操作。

參數(shù)

keyCode一個(gè)表示按下操作的鍵值.

event表示按鈕事件的對(duì)象.

返回值

如果你認(rèn)為已經(jīng)完成事件處理,不想讓讓下一個(gè)處理器來(lái)處理此事件,則返回true,否則返回false。

public boolean onKeyMultiple(intkeyCode,intrepeatCount,KeyEventevent)

默認(rèn)由KeyEvent.Callback.onKeyMultiple()實(shí)現(xiàn),總是返回false(不處理此事件)。

參數(shù)

keyCode鍵值.

repeatCount該動(dòng)作發(fā)生的次數(shù).

event事件對(duì)象.

返回值

如果你認(rèn)為已經(jīng)完成事件處理,不想讓讓下一個(gè)處理器來(lái)處理此事件,則返回true,否則返回false。

public booleanonKeyUp(intkeyCode,KeyEventevent)

默認(rèn)由KeyEvent.Callback.onKeyMultiple()實(shí)現(xiàn),如果視圖是可用的并且是可點(diǎn)擊的,那么傳入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是執(zhí)行的是點(diǎn)擊視圖操作。

參數(shù)

keyCode鍵值.

event事件對(duì)象.

返回值

如果你認(rèn)為已經(jīng)完成事件處理,不想讓讓下一個(gè)處理器來(lái)處理此事件,則返回true,否則返回false。

public void setAdapter (ListAdapteradapter)

設(shè)置GridView的數(shù)據(jù)。

參數(shù)

adapter為grid提供數(shù)據(jù)的適配器

publicvoidsetColumnWidth(intcolumnWidth)

設(shè)置GridView的列寬.

參數(shù)

columnWidth列的寬度,以像素為單位

publicvoidsetGravity(intgravity)

設(shè)置控件內(nèi)容的位置,默認(rèn)值為:Gravity.LEFT.

參數(shù)

gravity位置值

publicvoidsetHorizontalSpacing(inthorizontalSpacing)

設(shè)置列間距.

參數(shù)

horizontalSpacing列間距值

public void setNumColumns(intnumColumns)

設(shè)置grid的列數(shù)

參數(shù)

numColumns列數(shù)值.

public void setSelection (intposition)

設(shè)置選中的條目.

參數(shù)

position.數(shù)據(jù)條目在列表中的索引值(從0開始),如果在可觸摸的模式下,在該索引值下的條目將不會(huì)被選中,但是該索引值仍然指向該條目。

public void setStretchMode(intstretchMode)

設(shè)置grid中的條目以什么縮放模式去填充空間。.

參數(shù)

stretchMode可選值:NO_STRETCH,STRETCH_SPACING,STRETCH_SPACING_UNIFORM,或STRETCH_COLUMN_WIDTH

public void setVertical Spacing(intverticalSpacing)

設(shè)置行間距.

參數(shù)

verticalSpacing間距值,以像素為單位

六、Android API代碼示例

下面給出一個(gè)小例子,先看效果:

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);            //準(zhǔn)備要添加的數(shù)據(jù)條目          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);          }  //實(shí)例化一個(gè)適配器          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實(shí)例          gridview = (GridView)findViewById(R.id.mygridview);          //gridview.setNumColumns(3);//可以在xml中設(shè)置          //gridview.setGravity(Gravity.CENTER);//同上  //將GridView和數(shù)據(jù)適配器關(guān)聯(lián)          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怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI