2011-06-30 5 views

答えて

72

デバイス上で使用できるAPIのバージョンに応じて異なるレイアウトが表示されている場合は、configuration qualifiersを使用します。 alternative resourcesの詳細も記載されています。 vNは、APIレベルであるように

res/layout/mylayout.xml  (Default) 
res/layout-v4/mylayout.xml (Android 1.6) 
res/layout-v11/mylayout.xml (Android 3.0) 

をして、:

それを行うための最も基本的な方法は、次のようにフォーマットし、使用する各APIレベル、のレイアウトフォルダを作成することです。特定のAPIレベルはon this pageです。

+0

この仕事はかなりうまいです! – Atheh

+0

私は上記の3つのファイルしか持っていませんでしたが、私はGBデバイスを使用していますが、どのファイルを使用するのですか? (レイアウト-v4またはレイアウト)?プラットフォームごとに異なるフォルダを作成する必要がありますか?私はGBからのサポートを予定しています –

+6

@FredericYesidPeñaSánchezそれは、次に最も一致するレイアウトに戻ります。したがって、res/layoutは常に最後にマッチして必要になりますが、それ以外は任意です。それぞれ異なるプラットフォームが必要な場合を除き、プラットフォームごとにフォルダは必要ありません。 – Jess

3

Andrew Koester氏は、異なるバージョンのフォルダを使用できると言いましたが、これはデフォルトのレイアウトに戻らないため、これは多くの作業であることがわかりました。 layout-v14を使用した場合は動作しますが、14以降のapiもこのレイアウトを持ち、別のレイアウト-vを使用する必要がありますか?それをもう一度上書きする。それはあなたのやることに依存しますが、多くのことをプログラマチックに行うと驚くべきことが見つかった場合:

if(Build.VERSION.SDK_INT == Build.VERSION_CODES.ICE_CREAM_SANDWICH || Build.VERSION.SDK_INT == Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1){ 
      //ex. if ics is met then do this 

     }else{ 
      //if api is not ics then do this 
     }