QT on Android导航栏隐藏、状态栏颜色设定程序编程

package an.qt.QtFullscreenActivityAPP;//指明文件包名
import android.content.Context;
import android.content.Intent;
import android.app.PendingIntent;
import android.util.Log;
import android.os.Bundle;
import android.os.Build;
import android.graphics.Color;import android.view.WindowManager;import android.view.View;//继承 QtActivity 类
public class QtFullscreenActivity extends org.qtproject.qt5.android.bindings.QtActivity
{
private final static String TAG = “QtFullscreen”;
private static Context context;
@Override // 重写 onCreate 方法
public void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState); // 获取程序句柄context = getApplicationContext(); // 设置状态栏全透明
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); getWindow().setStatusBarColor(Color.parseColor("#000000"));
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar| View.SYSTEM_UI_FLAG_IMMERSIVE ); //锁屏后nav栏也不会出现
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//透明导航栏
}
//全局获取Context
public static Context getContext()
{
return context;
}
//全透状态栏
private void setStatusBarFullTransparent()
{
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明状态栏 // 状态栏字体设置为深色,SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 为SDK23增加 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 // hide nav bar // | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar | View.SYSTEM_UI_FLAG_IMMERSIVE); //锁屏后nav栏也不会出现
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); // 部分机型的statusbar会有半透明的黑色背景
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);getWindow().setStatusBarColor(Color.TRANSPARENT);
}
private void setStatusBarColor(String color)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // 需要安卓版本大于5.0以上
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); getWindow().setStatusBarColor(Color.parseColor(color));
} }}
写JAVA程序,然后在AndroidManifest.XML中调用,修改 android:name=“an.qt.QtFullscreenActivityAPP.QtFullscreenActivity” ,包名.类名SYSTEM_UI_FLAG_IMMERSIVE //软件全屏View.SYSTEM_UI_FLAG_FULLSCREEN //隐藏状态栏SYSTEM_UI_FLAG_HIDE_NAVIGATION //隐藏导航栏FLAG_TRANSLUCENT_NAVIGATION //导航栏透明

发布了22 篇原创文章 · 获赞 9 · 访问量 2916

猜你喜欢

转载自blog.csdn.net/weixin_44377507/article/details/99410648
今日推荐