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