用手指调整ImageView的高度

时间:2013-06-14 14:49:47

标签: android android-camera android-imageview

我有一个显示相机预览的活动,以及最后拍摄的图像的ImageView。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

<ImageView
        android:id="@+id/stitch_preview"
        android:layout_width="fill_parent"
        android:layout_height="128dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:scaleType="center"
        android:visibility="gone"/>

<SurfaceView
        android:id="@+id/camera_preview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/stitch_preview"/>

现在ImageView固定为128dp高度。通过在ImageView上向下拖动手指很难使此视图可调整大小。

我一直在寻找各种提示,但我发现的一切都与拉出一个隐藏的视图有关。我似乎无法找到一个调整已经可见视图的示例。

Tutorial for doing a pull-down "view" in android?

How to resize a custom view programmatically?

1 个答案:

答案 0 :(得分:1)

假设您的ImageView可见,以下步骤可能对您有帮助 -

1)使用多点触控使用LayoutParams捏合缩放ImageView或实际调整图像视图大小(您可以根据标准边界调整Imageview的大小)。

2)使用以下代码

捕获您的imageview
ImageView iv=(ImageView)findViewbyId(R.id.ImageView1)

...

iv.setDrawingCacheEnabled(true);
                // Set the layout manually to after resizing or pinch zoom
                iv.layout(0, 0, x, y);
                // Set the quality to high
                iv.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
                // Build the cache, get the bitmap and close the cache
                iv.buildDrawingCache(true);
                Bitmap bmBarChart = gv.toBitmap();

上面的代码将返回重新调整大小的位图图像。

3)现在保存此图像并将其设置为ImageView

之前我已经调整了可见视图的大小,但我的要求与你的要求略有不同