前面文章講述的都是"随手拍"中圖像處理的操作,此篇文章主要講述gridview控件實作添加本地圖檔并顯示.主要是關于gridview控件的基本操作,通常可以通過自定義繼承baseadapter的擴充卡加載圖檔,而下面講述的不是自定義的擴充卡,而是調用simpleadapter實作的.至于上傳釋出與網絡互動此處不講述,後面文章會講!
主要是通過點選+從本地相冊中添加圖檔,同時顯示圖檔至gridview.點選圖檔可以進行删除操作,同時界面中的釋出editview控件也很好看,不足之處在于+好沒有移動至最後,但原理相同.
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI2ETN3MzNxAjM4AjMxQTMwIzLcRXZu5ibkN3Yuc2bsJmLn1Wavw1LcpDc0RHaiojIsJye.jpg)
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_提供的方法.
最後希望文章對大家有所幫助,如果有錯誤或不足之處,請海涵~最近學校網比較差,回複别人都不行.