0

アプリケーションでスライダー パネルを使用しています。

さて、私の問題は、デバイスの画面を縦向きに回転させても、幅が変わらないことです。いくつかのコードを変更してみましたが、その幅は完璧でしたが、エラーも発生していました。これを確認してください。

私のコードは次のとおりです。slidePanel は LinearLayout であるため、幅を設定する必要があります。

コード:

metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
panelWidth = (int) ((metrics.widthPixels) * 0.70);

headerPanel = (RelativeLayout) findViewById(R.id.header);
headerPanelParameters = (LinearLayout.LayoutParams) headerPanel
            .getLayoutParams();
headerPanelParameters.width = metrics.widthPixels;
headerPanel.setLayoutParams(headerPanelParameters);

menuPanel = (RelativeLayout) findViewById(R.id.menuPanel);
menuPanelParameters = (FrameLayout.LayoutParams) menuPanel
            .getLayoutParams();
menuPanelParameters.width = panelWidth;
menuPanel.setLayoutParams(menuPanelParameters);

slidingPanel = (LinearLayout) findViewById(R.id.slidingPanel);
slidingPanelParameters = (FrameLayout.LayoutParams) slidingPanel
            .getLayoutParams();
slidingPanelParameters.width = metrics.widthPixels;
slidingPanel.setLayoutParams(slidingPanelParameters);
4

1 に答える 1

0

FILL_PARENT は、 static final int ViewGroup.FILL_PARENTによって表されます。ただし、API バージョン 8 以降、FILL_PARENT は MATCH_PARENT に置き換えられていることに注意してください。したがって、 LinearLayout.LayoutParams オブジェクトでそれを使用して、プログラムで FILL_PARENT を設定します。

于 2013-06-08T10:58:12.290 に答える