天天看點

[Android] 通過GridView仿微信動态添加本地圖檔

前面文章講述的都是"随手拍"中圖像處理的操作,此篇文章主要講述gridview控件實作添加本地圖檔并顯示.主要是關于gridview控件的基本操作,通常可以通過自定義繼承baseadapter的擴充卡加載圖檔,而下面講述的不是自定義的擴充卡,而是調用simpleadapter實作的.至于上傳釋出與網絡互動此處不講述,後面文章會講!

主要是通過點選+從本地相冊中添加圖檔,同時顯示圖檔至gridview.點選圖檔可以進行删除操作,同時界面中的釋出editview控件也很好看,不足之處在于+好沒有移動至最後,但原理相同.

[Android] 通過GridView仿微信動态添加本地圖檔
[Android] 通過GridView仿微信動态添加本地圖檔
[Android] 通過GridView仿微信動态添加本地圖檔
[Android] 通過GridView仿微信動态添加本地圖檔

    1.主界面activity_main.xml

    主要通過相對布局實作,第一部分是底部的textview,中間是editview和gridview相對布局,下面是兩個按鈕.同時editview調用res/drawable-hdpi中的editview_shape.xml,gridview顯示的每張圖檔通過griditem_addpic.xml實作.

    2.顯示imageview圖檔布局griditem_addpic.xml

    3.設定editview控件圓角和顔色 editview_shape.xml

它主要是思想如下:

    1.通過simpleadapter擴充卡實作實作加載圖檔,在gridview1.setonitemclicklistener()點選函數中響應不同操作.

    2.當點選加号圖檔(+)時,調用本地相冊通過intent實作擷取圖檔路徑存于字元串pathimage.

    3.擷取圖檔路徑後在onresume中重新整理圖檔,通過gridview的setadapter()和notifydatasetchanged()()函數重新整理加載圖檔.

    4.點選圖檔時會擷取其position,通過dialog()函數彈出對話框提示是否删除,通過remove實作删除.

    具體代碼如下所示:

    同時需要在androidmainfest.xml中添權重限操作sd卡和網絡上傳至伺服器.

該文章需要注意一個地方:在使用simpleadapter擴充卡加載bmp圖檔時,可能在gridview中不顯示.即hashmap中map.put("itemimage",bmp)不顯示圖檔,而使用put裝入r.drawable.img卻能顯示.

    這時有兩種解決方法,一種是自定義繼承baseadapter的擴充卡實作;另一種方法則是如上所示通過viewbinder()接口實作,感謝部落客dmin_提供的方法.

    最後希望文章對大家有所幫助,如果有錯誤或不足之處,請海涵~最近學校網比較差,回複别人都不行.

繼續閱讀