在特定情况下,我需要从活动中删除对话主题,但它似乎不起作用.这里有一个例子

第一项活动:

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);
}

list 摘录:

 <activity android:name="SecondActivity" android:theme="@android:style/Theme.Dialog"></activity>

当我运行时,它仍然以对话为主题.

API10

谢谢.

推荐答案

As docs表示在任何视图输出之前必须调用setTheme.super.onCreate()似乎参与了view处理.

因此,要在主题之间动态切换,您只需在呼叫super.onCreate之前调用setTheme,如下所示:

public void onCreate(Bundle savedInstanceState) {
    setTheme(android.R.style.Theme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
}

Android相关问答推荐

RippleTheme在作曲material 1.7.0中被废弃

如何处理穿戴构图上的长点击事件?

Android,从C++调用的铁 rust 库缺少符号

原始mp3文件不显示与proguard

安卓喷气背包组成倒计时动画

无法加载类';com.android.build.api.extension.AndroidComponentsExtension';

如何在Jetpack Compose android中使用导航

更改选定的切换轨道 colored颜色

如何在 Jetpack Compose LazyColumn 中将项目分组在一起,例如卡片

具有数据库和升级潜力的移动应用程序开发(Android)供朋友使用

Android Studio电鳗:javaHome好像无效

React-native 3D对象渲染

处理程序 postDelayed 方法不起作用,kotlin 应用程序卡在启动画面上

如何在 TextButton 中分隔文本和图标

Android build gradle 文件版本代码自动递增

如何使用底页,启用和展开父交互

在 jetpack compose 中使用 .shadow 和 Button 会导致问题

如何使伴奏导航 BottomSheet 完全展开?

使用协程访问数据库

在使用 Retrofit 和 Room 时,我是否需要提及协程调度程序?