既存のテーマをカスタマイズできるかどうか (およびその方法) を知りたいです。
私が探しているのは、特定の属性 (つまり、色) を取得し、Activity
開始時にそれを変更して、変更されたテーマを前に再適用する方法setContentView()
です。
と似てsetTheme()
いますが、リソース ID を使用する代わりに、変更されたテーマを使用します。
既存のテーマをカスタマイズできるかどうか (およびその方法) を知りたいです。
私が探しているのは、特定の属性 (つまり、色) を取得し、Activity
開始時にそれを変更して、変更されたテーマを前に再適用する方法setContentView()
です。
と似てsetTheme()
いますが、リソース ID を使用する代わりに、変更されたテーマを使用します。
android:parent
独自のテーマを作成し、コピーしたいテーマに設定してから、独自の属性を設定してみませんか?これは、次のように、このドキュメントに示されています。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
この場合、ここで指定されている点を除いてCodeFont
、スタイルはスタイルと同じになります。デフォルトのホロまたはダークテーマなど、どのテーマでも同じことができます。TextAppearance.Medium
item
さらなる調査とエリックのコメントに基づくと、テーマをプログラムで変更する方法はまだありません。さまざまなテーマをプログラムで適用できますが、変更することはできません。スタイルが XML で設定されると、それを変更することはできません。