裁剪后设置图像时ImageView重新调整大小

时间:2013-11-12 13:37:14

标签: android resize imageview scale crop

我按照此http://www.androidhub4you.com/2012/07/how-to-crop-image-from-camera-and.html裁剪图片。

我在拼贴画框中有4-5个ImageView。在所有Imageview中我设置了一个默认图像。点击特定的图像视图,我从图库中选择图像然后裁剪图像。现在我必须在我的ImageView中设置裁剪的图像。因此,在设置裁剪后的Image后,我的ImageView会重新调整大小,因此其他ImageView的大小也会有所不同。我希望在Imageview中设置裁剪图像时,我的ImageView不能重新调整大小。

结果裁剪图像的大小可能不同,因此我在裁剪之前拍摄了ImageView尺寸,裁剪后我将结果位图缩放为与我的图像视图相同的尺寸。

打击编码样本。

我正在获得像我这样的Imageview的高度和宽度

  viewhight = tempView.getMeasuredHeight();
    viewWidth = tempView.getMeasuredWidth();

裁剪图像后,我根据我的视图的高度和宽度缩放图像

Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, viewWidth,viewhight, true);

在此之后我把它改成了这样的drawable并将它设置在我的Imageview上。

 Drawable drawble = new BitmapDrawable(getResources(),photobitmap1);
tempView.setBackground(drawble);

但是在设置我的视图的高度和宽度时会调整大小,因为这个附近的图像视图也会调整大小,为什么我不知道。因为我将我的imageview转换为相同的视图大小。

我也试过这个来缩放位图:

Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, (viewWidth-30), (viewhight-30), true);

这是设置位图:

tempView.setImageBitmap(photobitmap1);
 tempView.setBackgroundColor(Color.TRANSPARENT);

但没有任何效果。

我的xml代码是这样的:

   <LinearLayout
                android:id="@+id/fst"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/frame"
                android:orientation="vertical"
                android:paddingBottom="10dp"
                android:paddingLeft="85dp"
                android:paddingRight="85dp"
                android:paddingTop="10dp"
               >

                <ImageView
                    android:id="@+id/viw_1"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginBottom="2.5dp"
                    android:layout_weight="1"
                    android:background="@drawable/rec"
                 />

                <ImageView
                    android:id="@+id/viw_2"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:layout_marginTop="2.5dp"
                    android:background="@drawable/rec"
                 />
            </LinearLayout>

任何人都可以帮助我.....

1 个答案:

答案 0 :(得分:1)

您是否在XML中为imageview设置了固定的高度和宽度? 示例:

<ImageView
    android:layoutWidth="60dp"
    android:layoutHeight="60dp" />