Qt杂记-QQuick之Android隐藏状态栏以及状态栏透明(QQuick项目)
生活随笔
收集整理的這篇文章主要介紹了
Qt杂记-QQuick之Android隐藏状态栏以及状态栏透明(QQuick项目)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
基本概念
默認情況,顯示狀態欄
去掉狀態欄
設置狀態欄透明
?
基本概念
一般用Qt開發Android使用QML語言,采用QQuick框架。
沒什么原因吧!
估計就是開發起來比較爽!
下面對這幾種情況說明下!
?
默認情況,顯示狀態欄
效果如下:
這里建立好項目后直接跑就可以了!
?
去掉狀態欄
效果如下:
把Debug或Release目錄下的AndroidManifest.xml文件拷貝下來!
拷貝此文件在Qt項目下:
并且在pro文件下加上
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/AndroidSource這里可以添加圖標:
點擊XML Source,添加
android:theme = "@android:style/Theme.NoTitleBar.Fullscreen"即可:
?
?
設置狀態欄透明
效果如下:
在編譯器的目錄,我的是這個編譯器:
在這個目錄下添加這個類:
D:\Qt5.9\Qt\5.9.8\android_armv7\src\android\java\src\org\qtproject\qt5\android\bindings
其中內容如下:
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();// 設置狀態欄全透明this.setStatusBarFullTransparent();}//全局獲取Contextpublic static Context getContext() {return context;} //全透狀態欄private void setStatusBarFullTransparent(){if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明狀態欄// 狀態欄字體設置為深色,SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 為SDK23增加//getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);// 部分機型的statusbar會有半透明的黑色背景getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);getWindow().setStatusBarColor(Color.TRANSPARENT);// SDK21}} }再修改AndroidManifest.xml文件如下:
android:name="an.qt.QtFullscreenActivityAPP.QtFullscreenActivity"?
如下所示即可!
總結
以上是生活随笔為你收集整理的Qt杂记-QQuick之Android隐藏状态栏以及状态栏透明(QQuick项目)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arduino学习笔记-新的按键控制方式
- 下一篇: Qt|Http笔记-两种方式发送http