解決
由於Volodymyr Shevchyk
最終溶液:(礦是有點硬編碼-ISH)
QtAndroid::runOnAndroidThread([=]()
{
QAndroidJniObject window = QtAndroid::androidActivity().callObjectMethod("getWindow", "()Landroid/view/Window;");
window.callMethod<void>("addFlags", "(I)V", 0x80000000);
window.callMethod<void>("clearFlags", "(I)V", 0x04000000);
window.callMethod<void>("setStatusBarColor", "(I)V", 0xffffffff); // Desired statusbar color
}); // A R G B
使用提取弗羅姆here和here。
請確保您使用的是Qt 5.7或更高版本。否則QtAndroid::runOnAndroidThread
將無法正常工作。
QAndroidJniObject decorView = window.callObjectMethod("getDecorView", "()Landroid/view/View;");
decorView.callMethod<void>("setSystemUiVisibility", "(I)V", 0x00002000);
:
注
如果你使用白色,或其他一些非常鮮豔的顏色作爲背景,狀態欄的文本可以使用下面的代碼做了一個有點暗