1

アプリケーションとxmlファイルにFrameLayoutがあり、そのwidthおよびheightがに設定されてい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ありますか?

4

1 に答える 1

2

previewParam その時点ではnullだからだと思います。このようにしてみてください:

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();
于 2013-02-25T13:35:34.720 に答える