アプリケーションにテーマを持たせたい。Android アプリケーションで、layout-default、layout-blue、layout-red ディレクトリなどを作成することは可能ですか? または、res-default、res-blue などの別の res ディレクトリですか?
2 に答える
こちらに記載されているように、サイズまたは向き以外のスタイルごとに個別のレイアウトを作成することはできません。これにより、使用できるさまざまなレイアウトのかなり完全なリストが得られます。
やりたいことを実行し、赤のレイアウト、青のレイアウト、およびその他のレイアウトを作成するには、ここに記載されているように、すべてのレイアウトを好きなようにスタイル設定できるアプリケーション テーマを使用します。
まず、カスタム テーマを で作成しますstyles.xml
。これらは基本的なものですが、できるカスタマイズの量に終わりはありません。
<style name="RedTheme" parent="android:Theme.Light">
<item name="android:windowBackground">#ff0000</item>
</style>
<style name="BlueTheme" parent="android:Theme.Light">
<item name="android:windowBackground">#0000ff</item>
</style>
次に、onCreate
を設定する前に、アクティビティのメソッドでそれらを参照しますcontentView
。
public void onCreate(Bundle savedInstanceState) {
setTheme(R.style.BlueTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
選択したテーマを に保存してSharedPreferences
そこから参照するか、それぞれに異なるテーマを手動で設定することができますActivity
。テーマは、 のActivity
レベルにも設定できますManifest
。
答えはノーだ。独自のフォルダ階層を作成することはできません。しかし、あなたの質問によると、さまざまなスタイルやテーマを簡単に作成して使用できるように、さまざまな色のテーマでさまざまなレイアウトを作成したいようです。詳細については、このリンクを確認してください