2

さて、私は、同じアプリケーションから異なる Android バージョンの異なるビューをロードできるかどうか疑問に思っていました。Android の異なるバージョン用に定義された 2 つの別々のアクティビティのいずれかをインテント経由で呼び出すことができるアクティビティを作成できると考えました。つまり、あるアクティビティではアイスクリーム サンドイッチからのみ利用できるアクション バーを使用し、他のアクティビティでは以前の Android リリースのビューを使用する可能性があるとします。

4

3 に答える 3

1

1) 複数の画面をサポートするレイアウトについては、これを参照できます

2)異なるAndroidバージョンに応じて異なるレイアウトをロードしたい場合は、異なるレイアウトxmlファイルを作成してから、以下のコードのようにアクティビティで使用できます

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
     // only for android older than gingerbread
     //call setContentView with your layout
}

3) res フォルダー内の layout-v(version-number) フォルダーにレイアウトを配置できます。たとえば、SDK 11 の場合、フォルダー名は layout-v11 になります。

于 2013-02-11T19:54:00.450 に答える
0

はい。resにlayout-vXフォルダーを作成します。ここで、Xはバージョン番号です(たとえば、Honeycombの場合は11)。バージョンX以降を使用している場合、そこにあるファイルはすべて、レイアウトディレクトリ内のファイルのバージョンを上書きします。

于 2013-02-11T19:51:19.917 に答える
0

これが必要なのはアクションバーだけである場合は、actionbarsherlock ライブラリを使用することを強くお勧めします。

コードを使用してバージョンのチェックを行うこともできます (こちらをお読みください):

 if(VERSION.SDK_... <VERSION_CODES.... ) 

ここに書かれているように、バージョンの修飾子を設定することにより、たとえば、API 11 以降で使用する必要があるリソースの場合、修飾子 v11 を置きます。

于 2013-02-11T19:56:21.203 に答える