我已经实现了一个相机应用程序,它将在设备的整个屏幕上显示预览。但我的要求是在小屏幕上显示相机预览。我的设备分辨率是800x480(WxH),即Nexus one。我可以在不缩小预览的情况下在整个屏幕上显示预览。它来得很完美,但当我尝试在小屏幕上显示预览(我整个移动屏幕的一部分)时,预览变得拉伸,看起来不太好。
有没有办法在小屏幕上正确显示预览。我认为我们需要缩小图像预览。但当我尝试缩小图像预览时,android系统本身不允许设置缩放的预览大小。
谁能帮助我如何在小屏幕上缩放图像预览。
发布于 2011-05-04 13:15:19
在这个问题上挣扎了大约一周后,我终于能够让相机预览通过编程来调整自己的大小!:-D
preview是我的SurfaceView的名称,在这段代码中,我对它进行了设置,以便它将自身大小调整为所在RelativeLayout宽度的一半。
ViewGroup.LayoutParams params = preview.getLayoutParams();
RelativeLayout myRelLayout = (RelativeLayout) findViewById(R.id.myRelLayout);
params.width = (int) (myRelLayout.getWidth()/2);
preview.setLayoutParams(params);现在,为了便于使用,您需要查看预览的分辨率,然后根据该分辨率相应地缩小高度或宽度。
发布于 2011-04-17 23:04:45
乌代
你有没有试过改变
<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"
/>如果这不是你要找的,也许你可以发布你当前的代码,这样我们就可以看看它了?:-)
https://stackoverflow.com/questions/5499255
复制相似问题