1

既存のテーマをカスタマイズできるかどうか (およびその方法) を知りたいです。

私が探しているのは、特定の属性 (つまり、色) を取得し、Activity開始時にそれを変更して、変更されたテーマを前に再適用する方法setContentView()です。

と似てsetTheme()いますが、リソース ID を使用する代わりに、変更されたテーマを使用します。

4

2 に答える 2

6

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.Mediumitem

于 2012-09-10T18:58:56.420 に答える
2

さらなる調査とエリックのコメントに基づくと、テーマをプログラムで変更する方法はまだありません。さまざまなテーマをプログラムで適用できますが、変更することはできません。スタイルが XML で設定されると、それを変更することはできません。

于 2012-10-05T23:24:30.710 に答える