我与这一堆小时斗争,我无法弄清楚发生了什么。我有几个选项卡的应用程序。此选项卡由TabGroupActivity管理。 在这个标签中,我必须开始一个透明的活动。如果我正常启动(使用startActivity),它看起来不错,但显然,标签栏不可点击。由于透明度而可见,但不可“可达”。因此,为了使标签栏变得可用,我必须“startChildActivity”,这是一种定义用于浏览特定选项卡内的活动的方法。但是,当我这样做时,会显示活动,但不是透明的,背景是黑色的。 我尝试了一切,但我无法看到我如何修复它。 下面是我认为问题可以解决的代码,因为它是开始活动和子活动之间的唯一区别。透明的儿童活动有黑色背景
里面的“主”的活动我加载所有的标签,每个标签都有相关的寻找这样一个活动:
public class PreShowTabGroupActivity extends TabGroupActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startChildActivity("PreshowActivity", new Intent(this, PreshowActivity.class));
}
}
应该是透明的是一个由“PreshowActivity”开业活动。
以下是TabGroupActivity类中的startChildActivity方法。它有我的尝试透明,没有运气。
public void startChildActivity(String Id, Intent intent) {
Window window = getLocalActivityManager().startActivity(Id,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if (window != null) {
//window.set
mIdList.add(Id);
navController.notifyActivityChange();
setContentView(window.getDecorView());
window.getAttributes().alpha = 0;
window.getDecorView().setBackgroundColor(Color.TRANSPARENT);
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
}
奇怪的是,如果我把颜色背景(如红色或其他),背景改变为该颜色。但如果我将其配置为透明,背景为黑色。
在我的Manifest中,我尝试了透明和半透明的主题,但没有运气。
如果你能帮助我,我会充分理解它。
谢谢!
难道它背后有一个背景是黑色的,它确实是透明的,所以你看到它背后的黑色背景? – AJcodez 2012-02-07 17:53:56
虽然它,但我很确定它不是,因为我在“startChildActivity”方法中做了以下测试:我将decorView背景设置为RED,然后将窗口背景设置为TRANSPARENT,而不是显示RED背面,它显示一个黑色的背景。 – DiamondGerace 2012-02-07 17:56:18