Java Android:当您更改设置为以编程方式包装内容的frameLayout的维度时会发生什么?
我的应用程序中有一个FrameLayout,在xml文件中,它的Java Android:当您更改设置为以编程方式包装内容的frameLayout的维度时会发生什么?,java,android,android-xml,Java,Android,Android Xml,我的应用程序中有一个FrameLayout,在xml文件中,它的宽度和高度设置为wrap\u content。然后我想以编程方式更改其维度,如下所示: FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview); ViewGroup.LayoutParams previewParam = preview.getLayoutParams() ; previewParam.height =(int) (height *
宽度和高度设置为wrap\u content
。然后我想以编程方式更改其维度,如下所示:
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
ViewGroup.LayoutParams previewParam = preview.getLayoutParams() ;
previewParam.height =(int) (height * 0.86);
previewParam.width = (int)(previewParam.height/ratio) ;
preview.setLayoutParams(previewParam) ;
当我执行此操作时,当我启动此活动时,程序将退出,wrap\u内容是否有问题?我认为这是因为previewParam
在该点为空。试着这样做:
FrameLayout preview = (FrameLayout) findViewById(R.id.abs__action_bar);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams((height/ratio),
(int) (height * 0.86));
preview.setLayoutParams(params);
preview.requestLayout();