2016-06-22 12 views
0

私はwindowBackgroundスプラッシュスクリーンのアプローチを使用しています(私のアプリケーションのテーマに合わせて最初に表示される印象が必要です)。そして、自分のアプリケーションでカスタムテーマを使用できるようにしました。ユーザーがこのテーマを変更できるので、私は正しいwindowBackgroundで私のアプリのテーマを設定できません。最初の起動 - カスタムウィンドウ背景のスプラッシュの色

私のアプリを開くとき、私はいつもマニフェストで設定したライトテーマからのデフォルトのwindowBackgroundカラーを表示します。私のマニフェストには、以下のようになります。

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

    <activity 
     android:name=".activities.mvp.MainActivity" 
     android:label="@string/app_name"> 
    </activity> 
</application> 

を私の活動では、私は次のようなテーマを上書き:

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    setTheme(...); // setting user selected theme, AppThemeLight or AppThemeDark 
    super.onCreate(savedInstanceState); 
} 

をアプリを起動すると、私はいつも私の「AppThemeLight」から来て光スプラッシュ画面を参照してください、アクティビティを作成するときにsetTheme(R.style.AppThemeDark)を使用する場合でも...

私のアプリケーションの主なテーマをどうにかしてコードで変更できますか?またはこれを正しく動作させるためのその他のトリックですか?

答えて

0

起動時にライトテーマが表示されず、ユーザーの選択に関するアクティビティテーマが変更されます。

  • マニフェストファイルからアプリケーションレベルのテーマを削除します。
  • あなたのユーザー選択のアクティビティベースからテーマを設定します。

私はアプリケーションオブジェクトからテーマを設定しようとしましたが、そのテーマを取っていませんでした(なぜわかりませんか)。

しかし、そのテーマをアプリケーション(マニフェスト)から削除した場合。すべてのアクティビティのテーマを明示的に設定する必要があります。

+0

これは私のためには機能しません。ちなみに、アクティビティのテーマを設定することはすでに完全にうまくいきました。最初のアプリの開始時に短い時間を話しています。アクティビティが始まる前に白い背景が表示されます...この最初の印象が欲しいあなたの選択したテーマに応じて、明るいか暗いか... – prom85