用手指调整 ImageView 的高度
Posted
技术标签:
【中文标题】用手指调整 ImageView 的高度【英文标题】:Resize height of ImageView by finger 【发布时间】:2013-06-11 06:22:27 【问题描述】:我有一个显示相机预览的活动,以及最后一张拍摄的图像的 ImageView。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<ImageView
android:id="@+id/stitch_preview"
android:layout_
android:layout_
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_
android:layout_
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】:假设您的 ImageView 是可见的,以下步骤可能会对您有所帮助-
1) 缩放您的 ImageView 或使用 LayoutParams 使用多点触控实际调整您的 imageview 的大小(您可以根据您的标准范围调整 Imageview 的大小)。
2) 使用以下代码捕获您的图像视图
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
我之前已经调整了可见视图的大小,但我的要求与您略有不同
【讨论】:
以上是关于用手指调整 ImageView 的高度的主要内容,如果未能解决你的问题,请参考以下文章
ImageView系列:ImageView会不会自动调整高度?