Android:如何以编程方式使活动窗口半透明?

时间:2012-03-21 20:37:31

标签: android

有没有办法以编程方式使活动窗口显示为transluscent?出于我的目的,我不能使用静态XML资源。

我尝试将背景资源设置为transluscent颜色,但这只会使背景显示为纯黑色。

5 个答案:

答案 0 :(得分:11)

将其写入您的活动类

Window window = this.getWindow();
window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

答案 1 :(得分:1)

有点晚了,但为了后人的缘故......你可以像这样以编程方式设置半透明主题:

@Override
public void onCreate(Bundle savedInstanceState) {
    // Set a Translucent NoTitleBar theme before calling super.onCreate()
    setTheme(android.R.style.Theme_Translucent_NoTitleBar);

    super.onCreate(savedInstanceState);
}

答案 2 :(得分:1)

最后,我找到了解决此问题的方法。

https://github.com/ikew0ng/SwipeBackLayout/blob/e4ddae6d2b8af9b606493cba36faef8beba94be2/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java

如果您想使活动透明化

Utils.convertActivityToTranslucent(activity);

或者如果您想使其不透明

Utils.convertActivityFromTranslucent(activity);

答案 3 :(得分:0)

答案 4 :(得分:-2)

我不确定你的活动窗口是什么意思,但你可以制作视图。

尝试这样的事情:

   myView.setAlpha(45);   // 0-255    where 255 is non-transparent