2016-04-25 9 views
0

に直接アクセスする方法はありますか?は、レイアウトリソースをランドスケープモードまたはポートレートモードで選択しますか?さまざまなオプションを使用したアンドロイドレイアウトのランドスケープ/ポートレート

私は通常、「res/layout」フォルダに通常の「main_layout.xml」と「res/layout-land」フォルダにランドスケープ「main_layout.xml」を入れています。

ここで、「main_layout_blue.xml」と「main_layout_red.xml」という2つのレイアウトがあるとします。ユーザーはそれらの1つを選択でき、適切なレイアウトを設定できます。オリエンテーションの変更に再びすべてが問題ありません。

私は、ポートレートモードでは "main_layout_blue.xml"、ランドスケープモードでは "main_layout_red.xml"のように、異なるオリエンテーションに異なるレイアウトを設定するオプションをユーザに与えることによって、

縦向きには "res/layout/main_layout_blue.xml"、横向きには "res/layout-land/main_layout_red.xml"を使用するよう明示的にシステムに指示するためのアンドロイドオプションはありますか? 私はここで何が欠けていますか?あなたは以下のことで、デバイスの向きを確認することができるように姿勢変更後

答えて

0

、ビューが再作成されます。

Activity.getResources().getConfiguration().orientation 

とすることができます結果に基づいて:

if(portrait) 
     setContentView(R.layout.blue) 
    else 
     setContentView(R.layout.red) 

が、すべてのリソースを/ layoutフォルダに入れることを忘れないでください。

+0

こんにちは。私はそれが私の好意的な回避策であることに言及することを忘れていました。私は、事前にどのリソースを選択するかを宣言することによって、方向の変化を明示的に聞き取るのを避ける方法があることを期待していました。 – Marchand

+0

@Marchandユーザーが実行時に優先レイアウトを選択できるようにするためには、コードにロジックを入れて、ユーザー設定を見つけて使用可能なレイアウトにリンクする必要があります – Pooya

関連する問題