0

テーブルを使用するアプリを開発しています。縦向きでは2列、横向きでは3列です。/ res / layout-landフォルダーを使用してビューを変更できることは知っていますが、保存されていないデータはリセットされます。/res/layout-land/mylayout.xmlを使用する以外のオプションはありますか?

4

1 に答える 1

0

特定のフォルダ(など)を使用したくない場合は、3つの列(すべて)を含むlayout-land単一のレイアウトファイルを作成しTableLayout、電話の現在の向きに基づいて列の1つを非表示/再表示できます。このメソッドでは、方向が/onCreateに設定されている場合、折りたたまれた列を表示/非表示にします。landscapeportrait

TableLayout tl = (TableLayout) findViewById(R.id.tableLayout1);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    // make the column appear, we're in landscape orientation
    tl.setColumnCollapsed(2, false);
} else {
    tl.setColumnCollapsed(2, true);
}

これで何を達成しようとしているのかわかりません。電話が回ったときに、アクティビティは通常どおり再作成されます。

于 2012-05-26T06:25:35.503 に答える