我很好奇,如果我做错了或者这只是一个错误......
当我在清单中为我的活动设置主题时:
<activity
android:theme="@android:style/Theme.Dialog"
...>
生成的活动有一个半透明背景,通过它我可以看到堆栈下一个活动。
但是,当我将该命令从我的清单中删除并在我致电super.onCreate
之前执行此操作
public void onCreate(Bundle b){
setTheme(android.R.style.Theme_Dialog);
super.onCreate(b);
}
我认为这是在您的Activity上以编程方式设置主题的正确方法, 内容在对话框中正确显示在屏幕中央,但背景完全是黑色。
我应该使用其他*其他主题吗?我觉得我一定错过了什么。
答案 0 :(得分:1)
如果我理解正确,您需要以编程方式设置半透明背景,通过该背景可以看到下面的屏幕。如果我没记错的话,Theme_Translucent用于相同的(如果你想以编程方式设置它)。文档说:
public static final int Theme_Translucent
半透明活动主题(API级别10及更低级别)。也就是说,窗户可以让你透过它们看到后面的窗户。这会为您的窗口设置半透明标志和适当的动画。
另请查看以下主题:https://groups.google.com/forum/?fromgroups=#!topic/android-developers/vSZHsVWUCqk。这谈到了你提出的完全相同的观察,但答案仍然不能令人满意。