Android:更改以编程方式设置为wrap_content的frameLayout的尺寸时会发生什么?

时间:2013-02-25 13:24:40

标签: java android android-xml

我的应用程序和xml文件中有一个FrameLayout,其widthheight设置为wrap_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_content是否存在问题?

1 个答案:

答案 0 :(得分:2)

我相信它,因为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();