目前,相机预览被拉伸到适合整个屏幕(854x480)。我希望它显示为(427x240)。
以下是相机实现的相关代码:Camera.Parameters params = camera.getParameters(); params.setPreviewSize(427, 240); mCamera.setParameters(params);
public class CameraTest extends Activity {
private Preview mPreview;
private DrawOnTop mDrawOnTop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Hide the window title.
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// Create our Preview view and set it as the content of our activity.
// Create our DrawOnTop view.
mDrawOnTop = new DrawOnTop(this);
mPreview = new Preview(this, mDrawOnTop);
setContentView(mPreview);
addContentView(mDrawOnTop, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
}
在developer.android.com:
如果你想为你的相机预览设置一个特定的大小,设置这个在surfaceChanged()方法中,如上面的注释所述。当设置预览大小时,必须使用来自的值getSupportedPreviewSizes()。中不要设置任意值
setPreviewSize()方法。
,然后这样写来得到最小的值:
List<Size> list = mCamera.getParameters().getSupportedPictureSizes();
Size size = list.get(0);
int height = size.height;
int minHeight=9999999;
for(int i = 0; i<=list.size(); i++){
if(list.get(i).height<minHeight){
minHeight = list.get(i).height;
}
}
希望它能起作用!
mccamera . setparameters (params);只设置参数。它将被传递给相机硬件。
要设置预览窗口的大小,你必须修改相机布局文件