最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android中GridView的用法示例

 更新時間:2014年08月07日 16:12:29   投稿:shichen2014  
這篇文章主要介紹了android中GridView的用法,對于Android初學(xué)者很有參考學(xué)習(xí)價值,需要的朋友可以參考下

在Android程序設(shè)計中GridView跟ListView都是比較常用的多控件布局,而GridView更是實現(xiàn)九宮圖的首選!本文就是介紹如何使用GridView實現(xiàn)九宮圖。GridView的用法很多,網(wǎng)上介紹最多的方法就是自己實現(xiàn)一個ImageAdapter繼承BaseAdapter,再供GridView使用,類似這種的方法本文不再重復(fù),本文介紹的GridView用法跟之前介紹過的ListView極其類似。

我們先來看看本文代碼運行的結(jié)果:

本文需要添加/修改3個文件:main.xml、night_item.xml、JAVA源代碼。

main.xml源代碼如下,本身是個GirdView,用于裝載Item:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
  android:id="@+id/gridview"
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent"
  android:numColumns="auto_fit"
  android:verticalSpacing="10dp"
  android:horizontalSpacing="10dp"
  android:columnWidth="90dp"
  android:stretchMode="columnWidth"
  android:gravity="center"
/>

這里簡單介紹一下里面的某些屬性:

android:numColumns="auto_fit" ,GridView的列數(shù)設(shè)置為自動
android:columnWidth="90dp",每列的寬度,也就是Item的寬度
android:stretchMode="columnWidth",縮放與列寬大小同步
android:verticalSpacing="10dp",兩行之間的邊距,如:行一(NO.0~NO.2)與行二(NO.3~NO.5)間距為10dp
android:horizontalSpacing="10dp",兩列之間的邊距。

接下來介紹 night_item.xml,這個XML跟前面ListView的ImageItem.xml很類似:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_height="wrap_content" 
     android:paddingBottom="4dip" android:layout_width="fill_parent">
     <ImageView 
        android:layout_height="wrap_content" 
        android:id="@+id/ItemImage" 
        android:layout_width="wrap_content" 
        android:layout_centerHorizontal="true"> 
     </ImageView>
     <TextView 
        android:layout_width="wrap_content" 
        android:layout_below="@+id/ItemImage" 
        android:layout_height="wrap_content" 
        android:text="TextView01" 
        android:layout_centerHorizontal="true" 
        android:id="@+id/ItemText">
     </TextView>
</RelativeLayout>

最后就是JAVA的源代碼了,也跟前面的ListView的JAVA源代碼很類似,不過多了“選中”的事件處理:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridview = (GridView) findViewById(R.id.gridview);

//生成動態(tài)數(shù)組,并且轉(zhuǎn)入數(shù)據(jù)
ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<10;i++)
{
 HashMap<String, Object> map = new HashMap<String, Object>();
 map.put("ItemImage", R.drawable.icon);//添加圖像資源的ID
 map.put("ItemText", "NO."+String.valueOf(i));//按序號做ItemText
 lstImageItem.add(map);
}
//生成適配器的ImageItem <====> 動態(tài)數(shù)組的元素,兩者一一對應(yīng)
SimpleAdapter saImageItems = new SimpleAdapter(this, //沒什么解釋
     lstImageItem,//數(shù)據(jù)來源 
     R.layout.night_item,//night_item的XML實現(xiàn)
     
     //動態(tài)數(shù)組與ImageItem對應(yīng)的子項    
     new String[] {"ItemImage","ItemText"}, 
     
     //ImageItem的XML文件里面的一個ImageView,兩個TextView ID
     new int[] {R.id.ItemImage,R.id.ItemText});
//添加并且顯示
gridview.setAdapter(saImageItems);
//添加消息處理
gridview.setOnItemClickListener(new ItemClickListener());
}

//當(dāng)AdapterView被單擊(觸摸屏或者鍵盤),則返回的Item單擊事件
class ItemClickListener implements OnItemClickListener
{
 public void onItemClick(AdapterView<?> arg0,//The AdapterView where the click happened 
    View arg1,//The view within the AdapterView that was clicked
    int arg2,//The position of the view in the adapter
    long arg3//The row id of the item that was clicked
    ) {
 //在本例中arg2=arg3
 HashMap<String, Object> item=(HashMap<String, Object>) arg0.getItemAtPosition(arg2);
 //顯示所選Item的ItemText
 setTitle((String)item.get("ItemText"));
 }
}

相關(guān)文章

  • 在Java 8中將List轉(zhuǎn)換為Map對象方法

    在Java 8中將List轉(zhuǎn)換為Map對象方法

    這篇文章主要介紹了在Java 8中將List轉(zhuǎn)換為Map對象方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Java中Gson的使用詳解

    Java中Gson的使用詳解

    這篇文章主要介紹了Java中Gson的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Springboot如何通過自定義工具類獲取bean

    Springboot如何通過自定義工具類獲取bean

    這篇文章主要介紹了Springboot通過自定義工具類獲取bean方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SSH框架網(wǎng)上商城項目第22戰(zhàn)之銀行圖標(biāo)以及支付頁面顯示

    SSH框架網(wǎng)上商城項目第22戰(zhàn)之銀行圖標(biāo)以及支付頁面顯示

    這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項目第22戰(zhàn)之銀行圖標(biāo)以及支付頁面顯示,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java中Tuple的功能及使用詳解

    Java中Tuple的功能及使用詳解

    Java中的Tuple是一種非常有用的數(shù)據(jù)結(jié)構(gòu),它可以讓開發(fā)者在處理多個數(shù)據(jù)元素時更加方便和高效,通過Tuple,我們可以將多個變量打包成一個對象,從而減少了代碼量,提高了代碼可讀性,這篇文章主要介紹了Java中Tuple的功能及使用場景,需要的朋友可以參考下
    2024-01-01
  • 微信企業(yè)號 根據(jù)錯誤碼返回錯誤信息類封裝

    微信企業(yè)號 根據(jù)錯誤碼返回錯誤信息類封裝

    這篇文章主要介紹了微信企業(yè)號 根據(jù)錯誤碼返回錯誤信息類封裝的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • springboot數(shù)據(jù)庫密碼加密的配置方法

    springboot數(shù)據(jù)庫密碼加密的配置方法

    這篇文章主要給大家介紹了關(guān)于springboot數(shù)據(jù)庫密碼加密的配置方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SpringBoot實現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫的方法

    SpringBoot實現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫的方法

    本文主要介紹了SpringBoot實現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 如何基于java實現(xiàn)Gauss消元法過程解析

    如何基于java實現(xiàn)Gauss消元法過程解析

    這篇文章主要介紹了如何基于java實現(xiàn)Gauss消元法過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • fastjson全局日期序列化設(shè)置導(dǎo)致JSONField失效問題解決方案

    fastjson全局日期序列化設(shè)置導(dǎo)致JSONField失效問題解決方案

    這篇文章主要介紹了fastjson通過代碼指定全局序列化返回時間格式,導(dǎo)致使用JSONField注解標(biāo)注屬性的特殊日期返回格式失效問題的解決方案
    2023-01-01

最新評論

修文县| 青田县| 北海市| 东源县| 沛县| 康定县| 阳西县| 通州市| 怀仁县| 维西| 宜川县| 台前县| 双鸭山市| 木兰县| 威宁| 桃江县| 福海县| 临安市| 全州县| 泾阳县| 乐亭县| 饶平县| 冕宁县| 辛集市| 滦平县| 朝阳市| 梨树县| 乌拉特后旗| 青州市| 蚌埠市| 宝山区| 肃南| 山西省| 嘉义县| 从江县| 曲阳县| 日土县| 新宁县| 灌云县| 岑溪市| 昆明市|