我有一个显示相机预览的活动,以及最后拍摄的图像的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上向下拖动手指很难使此视图可调整大小。
我一直在寻找各种提示,但我发现的一切都与拉出一个隐藏的视图有关。我似乎无法找到一个调整已经可见视图的示例。
答案 0 :(得分:1)
假设您的ImageView可见,以下步骤可能对您有帮助 -
1)使用多点触控使用LayoutParams捏合缩放ImageView或实际调整图像视图大小(您可以根据标准边界调整Imageview的大小)。
2)使用以下代码
捕获您的imageviewImageView 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
之前我已经调整了可见视图的大小,但我的要求与你的要求略有不同