本文介紹了Android Sticky沉浸式模式的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個活動,我希望它全屏顯示,顯示標題欄和系統按鈕(上一步、最小化…)。
我確實從Developers.android.com獲取了一個代碼,它確實是全屏的,但當我按下我的屏幕時,標題會彈出來,按鈕也會彈出來,我希望只有當我的手指在屏幕的頂部/底部上/下滑動時,它才會彈出。
我的活動如下:
package com.example.nsomething.main;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.example.nsomething.R;
public class Report extends Activity {
@TargetApi(Build.VERSION_CODES.KITKAT)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
setContentView(R.layout.report);
initialize();
}
private void initialize() {
Button report = (Button) findViewById(R.id.button1);
report.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(Report.this, Harta.class));
finish();
}
});
}
}
推薦答案
與official tutorial中的代碼一樣,您最好將代碼放在onWindowFocusChanged中。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
這篇關于Android Sticky沉浸式模式的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,