В определенных случаях мне нужно удалить тему диалога из моей активности, но, похоже, она не работает. Вот пример
Первое действие:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startActivity(new Intent(MainActivity.this, SecondActivity.class));
}
Второе действие:
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme);
setContentView(R.layout.activity_second);
}
Отрывок из манифеста:
<activity android:name="SecondActivity" android:theme="@android:style/Theme.Dialog"></activity>
Когда я запускаю, он все еще тематический диалог.
API10
Спасибо.
Ответ user1462299 работает отлично, но если вы включите фрагменты , они будут использовать исходную тему действий. Чтобы применить тему ко всем фрагментам, вы можете вместо этого переопределить метод getTheme () контекста:
Вам больше не нужно вызывать setTheme () в методе onCreate (). Таким образом вы переопределяете каждый запрос, чтобы получить текущую тему в этом контексте.
источник
Я знаю, что опаздываю, но я хотел бы опубликовать решение здесь:
проверьте полный исходный код здесь .
Это код, который я использовал при изменении темы с помощью настроек.
Обратите внимание, что вы должны поместить код перед setcontentview ..
С КОДИРОВКОЙ!
источник
Это отлично работает для меня:
theme.applyStyle(R.style.AppTheme, true)
Использование:
источник