所以我在ImageView
内有一个图像源。我试着通过编写android:padding="25dp"
来减小源的大小。
但是当我拍摄图像并显示imageView时,就会变成这样。捕获的图像不适合ImageView
。
我是否有办法缩小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" />
有没有办法删除捕获的图像但不删除源?我使用下面的代码,但它删除了包括源代码在内的所有内容。
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 :(得分: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
}
}
});