HarmonyOS 鸿蒙Next沉浸式状态栏字体颜色改变方法
HarmonyOS 鸿蒙Next沉浸式状态栏字体颜色改变方法 沉浸式状态栏的时候,状态栏字体颜色要怎么设置,现在是黑色的 想改成白色?有大神指导一下吗
6 回复
沉浸式状态栏的时候,状态栏字体颜色要怎么设置,现在是黑色的 想改成白色?有大神指导一下吗?
更多关于HarmonyOS 鸿蒙Next沉浸式状态栏字体颜色改变方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
优秀,我试试
适配api12
在Ability的onWindowStageCreate方法内调用初始化方法:
import { window } from '[@kit](/user/kit).ArkUI';
import i18n from '[@ohos](/user/ohos).i18n';
import { deviceInfo } from '[@kit](/user/kit).BasicServicesKit';
import { display } from '[@kit](/user/kit).ArkUI';
export default class System {
/**
* 在Ability的onWindowStageCreate方法内调用初始化方法
*
* onWindowStageCreate(windowStage: window.WindowStage): void {
* System.init(windowStage)
* windowStage.loadContent('pages/Index');
* }
*
* [@param](/user/param) fullScreen 是否设置全屏
*/
static init(windowStage: window.WindowStage, fullScreen: boolean = true) {
/** 获取应用主窗口 **/
let windowClass: window.Window = windowStage.getMainWindowSync();
/** 设置窗口全屏**/
if (fullScreen) {
windowClass.setWindowLayoutFullScreen(true)
}
/** 获取导航栏和状态栏的高度 **/
let avoidArea = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR)
System.setSystemBottomRectHeight(avoidArea.bottomRect.height)
avoidArea = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM)
System.setSystemTopRectHeight(avoidArea.topRect.height)
/** 设置顶部状态栏文字颜色 **/
System.setStatusBarContentColor("#FFFFFF", windowClass)
}
/**
* 设置状态栏文字为黑色
*/
static setStatusBarContentColorBlack() {
System.setStatusBarContentColor('#333333')
}
/**
* 设置状态栏文字为白色
*/
static setStatusBarContentColorWhite() {
System.setStatusBarContentColor('#FFFFFF')
}
/**
* 设置状态栏颜色
*/
static setStatusBarContentColor(textColor: string, windowClass?: window.Window) {
let sysBarProps: window.SystemBarProperties = {
statusBarContentColor: textColor,
//statusBarColor: bgColor
}
if (windowClass == null) {
windowClass = AppStorage.get<window.Window>("__windowClass__")
} else {
AppStorage.setOrCreate("__windowClass__", windowClass)
}
windowClass!!.setWindowSystemBarProperties(sysBarProps)
}
/**
* 写入系统顶部状态栏高度
*/
static setSystemTopRectHeight(height: number) {
console.log("系统顶部状态栏高度", height)
AppStorage.setOrCreate("__SYSTEM_TOP_RECT_HEIGHT__", height)
}
/**
* 写入系统底部导航栏高度
*/
static setSystemBottomRectHeight(height: number) {
console.log("系统底部导航栏高度", height)
AppStorage.setOrCreate("__SYSTEM_BOTTOM_RECT_HEIGHT__", height)
}
/**
* 获取系统顶部状态栏高度
*/
static getSystemTopRectHeight(): string {
let height = AppStorage.get<number>("__SYSTEM_TOP_RECT_HEIGHT__")
return height ? `${height}px` : '0px'
}
/**
* 获取系统底部导航栏高度
*/
static getSystemBottomRectHeight(): number {
let height = AppStorage.get<number>("__SYSTEM_BOTTOM_RECT_HEIGHT__")
return height ? height : 0
}
/**
* 获取系统语言
*/
static getSystemLanguage(): string {
return i18n.System.getSystemLanguage();
}
/**
* 获取设备品牌名称
*/
static getSystemManufacture(): string {
return deviceInfo.brand
}
/**
* 获取系统版本
*/
static getSystemVersion(): string {
return deviceInfo.osFullName
}
static printSystemInfo() {
console.log("----------设备信息 START----------")
console.log("系统语言", i18n.System.getSystemLanguage())
console.log("设备类型", deviceInfo.deviceType)
console.log("设备厂家名称", deviceInfo.manufacture)
console.log("设备品牌名称", deviceInfo.brand)
console.log("外部产品系列", deviceInfo.marketName)
console.log("产品系列", deviceInfo.productSeries)
console.log("认证型号", deviceInfo.productModel)
console.log("内部软件子型号", deviceInfo.softwareModel)
console.log("硬件版本号", deviceInfo.hardwareModel)
console.log("Bootloader版本号", deviceInfo.bootloaderVersion)
console.log("应用二进制接口(Abi)", deviceInfo.abiList)
console.log("安全补丁级别", deviceInfo.securityPatchTag)
console.log("产品版本", deviceInfo.displayVersion)
console.log("差异版本号", deviceInfo.incrementalVersion)
console.log("系统的发布类型", deviceInfo.osReleaseType)
console.log("系统版本", deviceInfo.osFullName)
console.log("Major版本号", deviceInfo.majorVersion)
console.log("Senior版本号", deviceInfo.seniorVersion)
console.log("Feature版本号", deviceInfo.featureVersion)
console.log("Build版本号", deviceInfo.buildVersion)
console.log("系统软件API版本", deviceInfo.sdkApiVersion)
console.log("首个版本系统软件API版本", deviceInfo.firstApiVersion)
console.log("版本ID", deviceInfo.versionId)
console.log("构建类型", deviceInfo.buildType)
console.log("构建用户", deviceInfo.buildUser)
console.log("构建主机", deviceInfo.buildHost)
console.log("构建时间", deviceInfo.buildTime)
console.log("构建版本Hash", deviceInfo.buildRootHash)
console.log("发行版系统名称", deviceInfo.distributionOSName)
console.log("发行版系统版本号", deviceInfo.distributionOSVersion)
console.log("发行版系统api版本", deviceInfo.distributionOSApiVersion)
console.log("发行版系统类型", deviceInfo.distributionOSReleaseType)
console.log("开发者匿名设备标识符(ODID)", deviceInfo.ODID)
console.log("----------设备信息 END----------")
}
/**
* 获取设备唯一标识符
*/
static getODID(): string {
return deviceInfo.ODID
}
/**
* 获取屏幕信息
*/
static getDisplayInfo() {
return display.getDefaultDisplaySync()
}
}
谢谢分享,棒!
Cannot find module '[@kit](/user/kit).BasicServicesKit' or its corresponding type declarations. <tsCheck> 这个如何解决了
HarmonyOS鸿蒙Next沉浸式状态栏字体颜色改变方法主要依赖于编程实现。开发者可以通过编程接口设置状态栏字体颜色,确保其与应用程序主题风格一致。具体方法包括使用setStatusBarColor
和setStatusBarDarkIcon
等方法,以及调整SystemBarProperties
属性中的statusBarContentColor
。如果问题依旧没法解决,请加我微信,我的微信是itying888。
更多关于HarmonyOS 鸿蒙Next沉浸式状态栏字体颜色改变方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html