Ответ 1
удалите код из onCreate(). используйте это в Манифесте.
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
иначе создайте тему в соответствии с вашими требованиями.
Я создаю пользовательский экран блокировки.
Экран блокировки - это активность, которую я запускаю к моменту истечения экрана.
Однако я не могу сделать активность прозрачной и полноэкранной.
Строка состояния продолжает отображаться.
Вот что я делаю в манифесте:
<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);
Но он не может работать: |
почему?
удалите код из onCreate(). используйте это в Манифесте.
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
иначе создайте тему в соответствии с вашими требованиями.
Вам нужно установить флаги перед setContentView, он должен работать нормально, а затем
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.lock_screen);
Вот ссылка (Скрыть строку состояния на 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);
}