2016-04-29 19 views
1

デバイスのタイプに基づいてAndroidのアクティビティに異なるレイアウトを選択する方法はありますか?Android:選択したデバイスに応じて別のレイアウトを選択

私はより明確にしようとします。 私は2つのレイアウトを持っています:home_layout_phone.xmlhome_layout_tablet.xml。彼らは同じですが、オブジェクトが異なる比率を持っている、とHomeActivity.javaに私はこのような何かをしたい:

setContentView(R.layout.home_layout_phone.xml); //if the device is a phone 
setContentView(R.layout.home_layout_tablet.xml); //if the device is a tablet 

私はこれをどのように行うことができますか?私はAndroidStudio 1.5.1を使用しています。あなたの答えをありがとう、私の悪い英語のために申し訳ありません、私はイタリア語です。

+0

こちらをご覧ください:http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters –

答えて

0

コンフィギュレーション修飾子を使用すると、複数のデバイスコンフィギュレーションに対して複数のレイアウトを設定できます。

Androidは、システムが現在のデバイスの画面の 特性に基づいて、あなたの代わりのリソースを選択する方法 制御にあなたを可能にするいくつかの設定修飾子をサポートしています。コンフィグレーション 修飾子は、 あなたのAndroidプロジェクトのリソースディレクトリに追加できる文字列であり、 リソースが設計されているコンフィグレーションを指定します。

あなたが何かのように持っている可能性があります(大きなデバイス用)(携帯電話用)

  • リスト項目のレイアウト/ home_layout.xml

  • リスト項目レイアウト-XLARGE/home_layout.xmlを

http://developer.android.com/intl/es/guide/practices/screens_support.html#qualifiers

+0

ありがとうございます。私は解決するのは簡単な問題だと確信していましたが、答えはどこにも見つかりませんでした。 –

0

レイアウトファイル名を1つ使用します。たとえば、home_layout.xmlです。これはあなたの電話のレイアウトになります。タブレット用の別のレイアウトを作成するには、Android Studioでレイアウトフォルダを右クリックし、新規>レイアウトリソースファイルを選択します。このファイルの名前を同じ名前(home_layout)とし、使用可能な修飾子の下で、タブレットの定義方法を選択します。たとえば、幅が600 dpを超えるときを選択できます。下図のように:

enter image description here

ときsetContentView、単に:

setContentView(R.layout.home_layout); 

し、適切なレイアウトは、この場合は、デバイスの幅に基づいて選択されます。

関連する問題