我正在制作自定义锁定屏幕。
锁定屏幕是我在屏幕关闭时启动的活动。
但是,我无法使活动既透明又无法进行。全屏。
状态栏会一直显示。
以下是我在清单中所做的事情:
<activity android:name=".activities.LockScreenActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
我也在activit的onCreate中添加这些额外内容:
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.lock_screen);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
但它似乎无法奏效:|
为什么?
答案 0 :(得分:45)
从onCreate()中删除代码。在Manifestfile中使用它。
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
否则根据您的要求创建主题。
答案 1 :(得分:3)
你需要在setContentView之前设置标志,它应该可以正常工作
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.lock_screen);
答案 2 :(得分:0)
这是link(隐藏Android 4.1及更高版本上的状态栏)。
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();
隐藏Android 4.0及更低版本的状态栏:
<application
...
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
...
</application>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// If the Android version is lower than Jellybean, use this call to hide
// the status bar.
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
setContentView(R.layout.activity_main);
}
&#13;