圖片的選擇功能,主要是針對ImageView這個區域,進行操作。
android studio預設建立的是繼承android.support.v7.app.AppCompatActivity的類,這裡有些東西不包含在這裡,所以就要繼承更上層的android.app.Activity。
在MainActivity.java中,首先定義一個私有變數ImageView型別的mPhoto:
將尋找到的xml中定義的指定id的物件,強制轉化為ImageView型別賦值給mPhoto。
給這個物件設定點選事件監聽,新定義一個事件並且重寫點選方法(),這裡可以建立一個intent物件,將Intent物件傳遞給startActivityForResult()方法以啟動一個Activity,這個Intent物件包含了要啟動的Activity的資訊。
此處intent.setDataAndType規定了能匯入的檔案型別,括號裡前面是檔案路徑,而後面的“image/*”則是規定了是圖片,但沒有限制圖片型別。
startActivityForResult(intent,100)中100>0,當Activity結束時requestCode將歸還在onActivityResult()中,這是為了方便確定返回的資料是從哪個Activity中返回的。
1 if(resultCode==RESULT_OK && requestCode==100)
設立條件確定得到的是使用者選擇到的結果。
1 if(data!=null) 2 3 { 4 5 mPhoto.setImageURI(data.getData()); 6 7 }
通過data來得到圖片的URI。
AndroidManifest.xml檔案中將型別改為沒有標題欄的滿屏型別。