2017-04-01 112 views
0

我試圖尋找能夠幫助我從手機圖庫中選擇一張圖片的圖片添加到我的應用程序中的圖片按鈕,但大部分圖片均爲圖片視圖。圖片在Android上打開手機屏幕上的圖片按鈕並顯示圖片

我想知道是否有人可以幫我告訴我該怎麼做?

+0

ImageView的只不過是一個不同的ImageButton,那麼,是你嘗試過的代碼或錯誤,你得到? –

+0

我沒有試過,因爲我不知道該做什麼或從哪裏開始說實話@ cricket_007 – Dckw24

+0

做出佈局?取景?附加一個點擊監聽器?在Stackoverflow找到關於如何打開圖庫來獲取圖片的可能回答問題等等 –

回答

0

首先在你的XML創建的ImageButton:

<ImageButton 
    android:id="@+id/image_button" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:scaleType="fitCenter"/> 

然後在您的活動:

  1. 創建類變量:

    ImageButton imageButton; 
    
  2. 在onCreate方法找到這個按鈕並設置OnClickListener:

    imageButton = (ImageButton) findViewById(R.id.image_button); 
    imageButton.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); 
         photoPickerIntent.setType("image/*"); 
         startActivityForResult(photoPickerIntent, 500); 
        } 
    }); 
    
  3. 覆蓋onActivityResult:

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    
    switch(requestCode) { 
        case 500: 
         if(resultCode == RESULT_OK){ 
          try { 
           final Uri imageUri = data.getData(); 
           final InputStream imageStream = getActivity().getContentResolver().openInputStream(imageUri); 
           final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream); 
           imageButton.setImageBitmap(selectedImage); 
          } catch (FileNotFoundException e) { 
           e.printStackTrace(); 
          } 
    
         } 
        } 
    } 
    
+0

hi @damian非常感謝代碼,但由於某些原因,我在getActivity方法中出現錯誤,只有那部分,應該它是別的東西? – Dckw24