首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:从Activity设置windowIsTranslucent

Android:从Activity设置windowIsTranslucent
EN

Stack Overflow用户
提问于 2012-11-27 22:22:52
回答 4查看 7.2K关注 0票数 1

我正在开发一个库,在这个库中,我必须以编程方式设置窗口背景,并且不能使用自定义样式的XML。这个想法是,实现库的用户可以设置任何他想要的主题-我只需要使背景透明即可。因此,小部件的所有样式都将保持不变。

我尝试了一些窗口标志,如WindowManager.LayoutParams.FLAG_DIM_BEHINDWindowManager.LayoutParams.FLAG_BLUR_BEHIND,但它们都不起作用。

我找到的每个解决方案都是基于样式xml文件的。

有没有办法直接从代码中设置windowIsTranslucent?

提前谢谢你,罗曼

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-27 22:34:58

不,这不可能。

只能在你的主题中设置windowIsTranslucent

建议;创建自己的主题,其他人可以覆盖。

票数 1
EN

Stack Overflow用户

发布于 2016-10-10 09:18:59

在您的活动开始之前,android:windowIsTranslucentandroid:windowIsFloatingandroid:windowNoDisplay都只被读取一次。因此,当您运行自己的代码时,为时已晚。

http://osxr.org:8080/android/source/frameworks/base/services/java/com/android/server/am/ActivityRecord.java#0399

票数 0
EN

Stack Overflow用户

发布于 2018-07-19 10:31:55

我用了这个

代码语言:javascript
运行
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    processSetTheme(this);
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);
    getWindow().setBackgroundDrawableResource(R.color.realTranslucent);
    if (Build.VERSION.SDK_INT>=19){
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    super.onCreate(savedInstanceState);

<color name="realTranslucent">#00000000</color>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13586284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档