2017-01-10 48 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' –