有没有办法以编程方式使活动窗口显示为transluscent?出于我的目的,我不能使用静态XML资源。
我尝试将背景资源设置为transluscent颜色,但这只会使背景显示为纯黑色。
答案 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)
最后,我找到了解决此问题的方法。
如果您想使活动透明化
Utils.convertActivityToTranslucent(activity);
或者如果您想使其不透明
Utils.convertActivityFromTranslucent(activity);
答案 3 :(得分:0)
使用这个方法convertActivityFromTranslucent
https://github.com/ikew0ng/SwipeBackLayout/blob/e4ddae6d2b8af9b606493cba36faef8beba94be2/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java
答案 4 :(得分:-2)
我不确定你的活动窗口是什么意思,但你可以制作视图。
尝试这样的事情:
myView.setAlpha(45); // 0-255 where 255 is non-transparent