2

私はAndroidのマスター/ディテールフローを使用しており、ポートレートモードでマスター部分を小さくするために画面の向きを検出しようとしていますが、いくつかの問題があり、この方法を書きました:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);

        if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

            setContentView(R.layout.activity_analyse_list);
            LinearLayout layout = (LinearLayout) findViewById(R.id.mastermenu);

            layout.setLayoutParams(new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, (float) 0.5));
        }
    }

そして、私はそれをListActivity最初の主なアクティビティに入れましたが、タブレットを裏返しても何も起こりませLog.donConfigurationChanged.

4

1 に答える 1

2

画面の向きに応じて 2 つの異なるレイアウトが必要な場合は、layout-land フォルダーを追加し、その向きに異なるレイアウトを定義することで、横向きに異なるレイアウトを定義できます。

そのレイアウトでは、ポートレートと比較して、好きなように変更できます。自分で何もする必要はありません。Android が処理します。

于 2013-09-16T10:05:53.400 に答える