调整相机预览的大小

我已经实现了一个相机应用程序,它将在设备的整个屏幕上显示预览。 但我的要求是在一个小屏幕上显示相机预览。 我的设备分辨率是800×480(WxH),即Nexus One。 我可以在不缩小预览的情况下在整个屏幕上显示预览。 它完美的来临,但是当我尝试在小屏幕(我的整个手机屏幕的一部分)显示预览,预览是越来越伸展,看起来不好。

有什么方法可以在小屏幕上正确显示预览。 我认为我们需要缩小图像预览。 但是,当我尝试缩小图像预览,android系统本身不允许设置缩放预览大小。

任何人都可以帮助我如何在小屏幕上缩放图像预览。

Solutions Collecting From Web of "调整相机预览的大小"

经过同样的问题挣扎了大约一个星期后,我终于能够获得相机预览,以编程方式调整自己! 😀

preview是我的SurfaceView的名称,在这个代码中,我已经设置了它的大小,使它自己调整到它所在的RelativeLayout的宽度的一半。

 ViewGroup.LayoutParams params = preview.getLayoutParams(); RelativeLayout myRelLayout = (RelativeLayout) findViewById(R.id.myRelLayout); params.width = (int) (myRelLayout.getWidth()/2); preview.setLayoutParams(params); 

现在供您使用,您需要查看预览的分辨率,然后根据该分辨率相应地缩小高度或宽度。

乌代,

你尝试过改变吗?

 <android.view.SurfaceView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/preview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@id/ButtonGroup" /> 

像这样的东西….

 <android.view.SurfaceView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/preview" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_above="@id/ButtonGroup" /> 

如果这不是你正在寻找的,也许你可以发布你的当前代码,所以我们可以看看它? 🙂