2

私のAndroidアプリでは、テーマを変更できますが、変更を確認するには、アプリを終了して再度開く必要があります。

こんな感じでテーマを変更。

ThemeSetterActivity.setStyle(signup.this);

create イベントで発生します。

しかし、私が実行でき、すべてのアクティビティのテーマを変更する、このようなコード (以下) はありますか?

foreach (activity act in app) {
    ThemeSetterActivity.setStyle(act.context);
}

ありがとう

4

3 に答える 3

0

アクティビティまたはアプリケーションにテーマを適用する

アプリケーションのすべてのアクティビティにテーマを設定するには、AndroidManifest.xml ファイルを開き、タグを編集して、スタイル名を含む android:theme 属性を含めます。例えば:

<application android:theme="@style/CustomTheme">

アプリケーション内の 1 つのアクティビティだけにテーマを適用する場合は、代わりに android:theme 属性をタグに追加します。

Android が他の組み込みリソースを提供するのと同様に、自分で作成せずに使用できる定義済みのテーマが多数あります。たとえば、ダイアログ テーマを使用して、アクティビティをダイアログ ボックスのように表示できます。

<activity android:theme="@android:style/Theme.Dialog">
于 2012-08-09T02:21:07.827 に答える
0

私の知る限り、あなたはそのようにすることはできません。

私がしていることは、各アクティビティが現在使用しているテーマを追跡することです。次に、再開時の各アクティビティで、現在のテーマがまだ本来あるべきものであるかどうかを確認し、そうでない場合はアクティビティを再開します。

そのアプリケーション全体を取得する簡単な方法は、基本アクティビティ クラスにその動作を実装させ、すべてのアクティビティにそれを拡張させることです。

于 2012-08-09T02:24:28.000 に答える