Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过锁屏获得透明的android活动?_Android_Xml_Android Theme - Fatal编程技术网

如何通过锁屏获得透明的android活动?

如何通过锁屏获得透明的android活动?,android,xml,android-theme,Android,Xml,Android Theme,我希望我的活动显示在锁屏上(工作正常)。但我想让活动透明化。 我尝试了两种方法都不允许我的活动显示在锁屏上 方法1 android:theme="@android:style/Theme.Translucent.NoTitleBar" <style name="Theme.Transparent" parent="android:Theme"> <item name="android:windowIsTranslucent">true</item>

我希望我的活动显示在锁屏上(工作正常)。但我想让活动透明化。
我尝试了两种方法都不允许我的活动显示在锁屏上

方法1

android:theme="@android:style/Theme.Translucent.NoTitleBar"
<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

方法2

android:theme="@android:style/Theme.Translucent.NoTitleBar"
<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

符合事实的
@android:彩色/透明
@空的
符合事实的
符合事实的
错误的

两者都不允许在锁屏上显示活动。


您知道什么方法吗?

尝试在您的活动中设置以下代码。我没有尝试过,它可能会起作用

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

尝试在您的活动中设置以下代码。我没有尝试过,它可能会起作用

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

这是因为您将windowIsFloating定义为true。如果修改了宽度或高度,或者设置为浮动,则活动不会显示在锁屏前

您应该将windowIsFloating设置为false,将windowBackground设置为transparent,如果您仍然想要对话框效果,请创建一个dialogfragment,并在创建活动时显示它。当然,从活动中删除ActionBar:

<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
false
符合事实的

这是因为您将windowIsFloating定义为true。如果修改了宽度或高度,或者设置为浮动,则活动不会显示在锁屏前

您应该将windowIsFloating设置为false,将windowBackground设置为transparent,如果您仍然想要对话框效果,请创建一个dialogfragment,并在创建活动时显示它。当然,从活动中删除ActionBar:

<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
false
符合事实的

显示在锁屏上的活动适用于活动的用户界面,根布局必须将背景设置为透明。Hi。你是怎么解决的?请用Answeractivity更新,以显示在锁屏上。活动的UI是否工作,根布局必须将背景设置为transparent.Hi。你是怎么解决的?请用回答更新我已经在做了,但是如果我不添加ThemeGetWidow().addFlags(WindowManager.LayoutParams.FLAG|u KEEP_SCREEN|u WindowManager.LayoutParams.FLAG_Disease|KEYGUARD|WindowManager.LayoutParams.FLAG|u锁定时显示|WindowManager.LayoutParams.FLAG|u打开|SCREEN|);您是否在AndroidManifest中设置了“”。我已经在这样做了,但是如果我不添加themegetWindow().addFlags,这些功能就可以正常工作(WindowManager.LayoutParams.FLAG|u保持|u屏幕| WindowManager.LayoutParams.FLAG|u解除|u键盘| WindowManager.LayoutParams.FLAG|u锁定时显示| WindowManager.LayoutParams.FLAG|打开|)是否在AndroidManifest中设置了“”。