2011-10-27 8 views
0

私は2つのボタンを押すことによってアプリケーションのすべてのアクティビティでblackThemeを白いテーマ(軽いテーマ)に変更する方法を知る必要があります.1つは黒のテーマ、もう1つは白のテーマです。私はマニフェストでテーマを設定し、テーマを設定する方法を知っていますOnCreate方法...動的に変更するには、私は知らない! =(ブラックテーマを実行時にホワイトテーマに変更するには?

誰かが

OBS私を助けてくださいすることができます?私は)実行時に(私のアプリのボタンの色を変更する方法を知っている...私はあなたがいると仮定し、バックグラウンドがない限り

答えて

2

!あなたのonCreate()コールバックメソッドでsetTheme()の前にsetContentView()を呼び出すことによってテーマを設定してください。をsetContentView()の後に呼び出すと、アクティビティを再開する必要があります。私は実行時にテーマを変更する経験はあまりありません..とにかく、 like:

public void onCreate(Bundle savedInstanceState) { 
    int theme = getIntent().getIntExtra("theme", <INSERT DEFAULT THEME.. MAYBE FROM PREFS>); 
    setTheme(theme); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.notes_list) 
} 

「光テーマ」ボタンは意図に格納されている新しいテーマ値と活動を再開:

public void onClickLightButton(View view) { 
    finish(); 
    Intent i = getIntent(); 
    i.putExtra("theme", android.R.style.Theme_Light); 
    startActivity(i); 
} 
関連する問題