0

私のAndroidアプリでは、次のようにテーマを設定しました:

@Override
public void onCreate(Bundle savedInstanceState){
    ThemeSetterActivity.setStyle(Main_MenuActivity.this); // this just calls context.setTheme();
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_menu);
}

しかし、どうすればテーマを変更できますか

ThemeSetterActivity.setStyle(Main_MenuActivity.this);

onresume イベントのとき。試してみると、関数は呼び出されますが、テーマは変わりません。電話しないことと何か関係がありますか:

super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
4

1 に答える 1

1

実行時にアプリケーションのテーマを変更するにはsetTheme(...)、アクティビティ内で メソッドを使用できます。アクティビティのビューをロードする前に、アクティビティにテーマを設定する必要があります。

詳細と実装については、次のリンクを参照してください

更新しました

そして、テーマを設定するためのドキュメントに従って、アクティビティ全体を再起動する必要があります。onResume()アクティビティでこのコードを試すことができます。

Intent i = getIntent();
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
于 2012-08-09T03:49:34.333 に答える