AppCompatNightModeDialog.java revision 27644c071b7fc0e1e4f91194f2a08b4aa2cf1465
1941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes/* 2941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * Copyright (C) 2014 The Android Open Source Project 3941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * 4941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 5941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * you may not use this file except in compliance with the License. 6941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * You may obtain a copy of the License at 7941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * 8941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 9941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * 10941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * Unless required by applicable law or agreed to in writing, software 11941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 12941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * See the License for the specific language governing permissions and 14941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * limitations under the License. 15941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes */ 16941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banespackage com.example.android.supportv7.app; 17941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 18941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.os.Bundle; 19941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.support.annotation.Nullable; 20941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.support.v7.app.AppCompatActivity; 21941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.support.v7.app.AppCompatDelegate; 22941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.support.v7.app.AppCompatDialog; 23941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.view.View; 2427644c071b7fc0e1e4f91194f2a08b4aa2cf1465Aurimas Liutikas 2527644c071b7fc0e1e4f91194f2a08b4aa2cf1465Aurimas Liutikasimport com.example.android.supportv7.R; 26941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 27941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes/** 28941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * This demonstrates idiomatic usage of Dialog with Theme.AppCompat.DayNight 29941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes */ 30941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banespublic class AppCompatNightModeDialog extends AppCompatActivity { 31941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 32941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes @Override 33941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes protected void onCreate(@Nullable Bundle savedInstanceState) { 34941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes super.onCreate(savedInstanceState); 35941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes setContentView(R.layout.appcompat_night_mode); 36941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes } 37941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 38941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes public void setModeNightNo(View view) { 39941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes AppCompatDialog dialog = new AppCompatDialog(this, R.style.Theme_AppCompat_DayNight_Dialog); 40941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO); 41941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.setTitle(R.string.dialog_title); 42941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.setContentView(R.layout.dialog_content); 43941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.show(); 44941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes } 45941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 46941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes public void setModeNightYes(View view) { 47941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes AppCompatDialog dialog = new AppCompatDialog(this, R.style.Theme_AppCompat_DayNight_Dialog); 48941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES); 49941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.setTitle(R.string.dialog_title); 50941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.setContentView(R.layout.dialog_content); 51941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.show(); 52941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes } 53941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 54941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes public void setModeNightAuto(View view) { 55941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes AppCompatDialog dialog = new AppCompatDialog(this, R.style.Theme_AppCompat_DayNight_Dialog); 56941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_AUTO); 57941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.setTitle(R.string.dialog_title); 58941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.setContentView(R.layout.dialog_content); 59941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes dialog.show(); 60941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes } 61941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 62941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes 63941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes} 64