2017-01-10 53 views
0

因此,我在ImageView內部有一個圖像源。我試圖通過編寫android:padding="25dp"來縮小源文件的大小。縮小圖像視圖內的圖像源

enter image description here

但是,當我拍攝的圖像,並顯示ImageView的,它成了這個樣子。拍攝的圖像不適合ImageView

enter image description here

  1. 有沒有一種方法,我可以下來源在小但ImageView讓所拍攝的圖像配入ImageView?在這裏我的代碼:

    <ImageView 
         android:layout_height="150dp" 
         android:layout_width="150dp" 
         android:background="@color/light_gray" 
         android:padding="25dp" 
         android:src="@drawable/camera" 
         android:scaleType="fitXY" 
         android:adjustViewBounds="true" 
         android:id="@+id/imageView" /> 
    
  2. 有沒有辦法刪除捕獲的圖像但不刪除源?我使用下面的代碼,但它刪除了包括源代碼在內的所有內容

    imageView.setImageDrawable(null);

編輯

試圖把按鈕的ImageView中心

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_below="@+id/toolbar" 
     android:layout_height="fill_parent"> 

     <ImageView 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:id="@+id/imageView1" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:layout_marginRight="42dp" 
      android:layout_marginEnd="42dp" /> 

     <Button 
      android:layout_width="40dp" 
      android:background="@drawable/camera" 
      android:layout_height="40dp" 
      android:id="@+id/imageButtonOne" 
      android:layout_centerVertical="true" 
      android:layout_alignLeft="@+id/imageView1" 
      android:layout_marginStart="25dp" 
      android:layout_marginLeft="25dp" /> 

     </RelativeLayout> 
+0

爲什麼我的android佈局無法顯示? –

+0

您的ImageView是否有特定的尺寸?可以張貼您的XML爲所說的ImageView以及? –

+0

,因爲你已經將填充添加到了25dp,即使對於捕獲的圖像也是如此。 – W4R10CK

回答

1

使用Button調用畫廊或相機:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_below="@+id/toolbar" 
android:layout_height="fill_parent"> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="120dp" 
    android:id="@+id/imageView1" 
    android:layout_marginRight="42dp" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" /> 

<Button 
    android:layout_width="40dp" 
    android:background="@mipmap/ic_launcher" 
    android:layout_height="40dp" 
    android:id="@+id/imageButtonOne" 
    android:layout_centerVertical="true" 
    android:layout_alignLeft="@+id/imageView1" 
    android:layout_marginStart="25dp" 
    android:layout_marginLeft="25dp" /> 

<ImageButton 
    android:layout_width="25dp" 
    android:layout_height="25dp" 
    android:id="@+id/your_delete_button_id" 
    android:background="@mipmap/ic_launcher" 
    android:layout_alignBottom="@+id/imageView1" 
    android:layout_alignStart="@+id/imageView1" 
    android:layout_marginStart="35dp" /> 

</RelativeLayout> 

對於使用代碼:

// buttons to access camera or gallery for input images 
    Button imageButtonOne = (Button) findViewById(R.id.imageButtonOne); 
    imageButtonOne.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //invoke camera or gallery 
     } 
    }); 

    // image upload camera button are visible at first 
    imageButtonOne.setVisibility(View.VISIBLE); 

圖像被選中,準備放置在ImageView後,在您的onActivityResult()使用:

imageButtonOne.setVisibility(View.GONE); 

刪除按鈕只刪除圖片:

// image-delete button 
    ImageButton buttonDelete1 = (ImageButton) findViewById(R.id.your_delete_button_id); 
    buttonDelete1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (your_imageView != null) { 
       // delete image from your_imageView 
       your_imageView.setImageBitmap(null); 
       // enable your camera_button again 
       imageButtonOne.setVisibility(View.VISIBLE); 

      } else { 
       //say something 
      } 
     } 
    }); 
+1

我看到錯誤,你也應該在元素中編寫android_alignLeft ... Button –

+0

如何將圖像按鈕放置在imageView的中心? –

+0

這似乎是我需要有一個'RelativeLayout' –