开放以下系统数据和控制功能,以制作创意主题。
系统数据:
控制功能:
变 量 | 类 型 | 注 释 |
|---|---|---|
systemVersion | 字符串 | 设备版本。 说明: 不支持获取旧荣耀手机的设备版本。 |
storageFree | 字符串 | 设备可用空间。结果四舍五入取整,单位:显示实际单位 |
storageFreeNum | 数值 | 设备可用空间。结果四舍五入取整,单位:MB(不显示)。 |
storageTotal | 字符串 | 设备总空间。结果四舍五入取整,单位:显示实际单位 |
storageTotalNum | 数值 | 设备总空间。结果四舍五入取整,单位:MB(不显示)。 |
vibration | 数值 | 声音模式。2:响铃;1:震动;0:静音。超出[0,2]取值范围不生效。 |
flashlight | 字符串 | 手电筒开关状态。0:关闭;1:打开。 |
automaticRotary | 字符串 | 自动旋转开关状态。0:关闭;1:打开。 |
<Text name="t1" color="#ffffff" format="手机版本:%s" paras="#systemVersion" size="50" x="100" y="300" /> <Text name="t5" color="#ffffff" format="手机可用空间:%s" paras="#storageFree" size="50" x="100" y="900" /> <Text name="t6" color="#ffffff" format="手机总空间:%s" paras="#storageTotal" size="50" x="100" y="1000" />
或
<Text name="t1" color="#ffffff" format="手机版本:%s" paras="#systemVersion" size="50" x="100" y="300" /> <Text name="t7" color="#ffffff" format="手机可用空间:%s" paras="#storageFreeNum" size="50" x="100" y="1100" /> <Text name="t8" color="#ffffff" format="手机总空间:%s" paras="#storageTotalNum" size="50" x="100" y="1200" />
<Var name="deviceTime" assigning="" />
参 数 | 类 型 | 选 项 | 注 释 |
|---|---|---|---|
assigning | 字符串 | 必填 | 设备开机时长的显示格式:dd天、dd天HH、dd天HH小时mm分钟。 说明: 显示格式中的文字字符可替换,以dd天HH小时mm分钟这个格式为例,也可以写为dd/HH/mm、dd-HH-mm等。 |
<Var name="deviceTime" assigning="dd天HH小时mm分钟" /> <Text name="t2" color="#ffffff" format="获取开机时长:%s" paras="#deviceTime" size="50" x="100" y="500" />
<Var name="pollingTime" time="" />
参 数 | 类 型 | 选 项 | 注 释 |
|---|---|---|---|
time | 数值 | 选填 | 设备开机时长的轮询时间,单位:分钟,最小值为1,不填即不开启轮询。 |
<!--1分钟刷新一次设备开机时长--> <Var name="pollingTime" time="1" /> <Var name="deviceTime" assigning="dd天HH小时mm分钟" /> <Text name="t2" color="#ffffff" format="获取开机时长:%s" paras="#deviceTime" size="50" x="100" y="500" />
<Var name="processCpuRate" bit="" />
参 数 | 类 型 | 选 项 | 注 释 |
|---|---|---|---|
bit | 数值 | 选填 | 保留小数的位数。 说明:
|
<Var name="processCpuRate" bit="3" /> <Text name="t3" color="#ffffff" format="获取CPU使用率:%s" paras="#processCpuRate" size="50" x="100" y="700" />
通过建立Var标签,设置name="processCpuFree"获取CPU空闲率数据。
<Var name="processCpuFree" />
<Var name="processCpuFree" /> <Text name="t4" color="#ffffff" format="获取CPU空闲率:%s" paras="#processCpuFree" size="50" x="100" y="800" />
<Var name="Progress" direction="" mode="" topColor="" bottomColor="" bgSrc="" iconSrc="" x="" y="" w="" h="" progressWidth="" iconWidth="" iconHeight="" roundedCorners="" />
参 数 | 类 型 | 选 项 | 注 释 |
|---|---|---|---|
direction | 数值 | 必填 | 进度条方向。0:水平;1:垂直。 |
mode | 数值 | 必填 | 音量或屏幕亮度模式。0:通话音量;1:屏幕亮度;2:来电信息通知音量;3:音乐/视频/游戏音量;4:闹钟音量。 |
topColor | 字符串 | 必填 | 顶部进度条颜色。 |
bottomColor | 字符串 | 必填 | 底部进度条颜色。 |
bgSrc | 字符串 | 必填 | 进度条控件的背景图片。 |
iconSrc | 字符串 | 必填 | 滑块图片。 |
x | 数值 | 必填 | 进度条位置横坐标。 |
y | 数值 | 必填 | 进度条位置纵坐标。 |
w | 数值 | 必填 | 进度条控件宽度。 |
h | 数值 | 必填 | 进度条控件高度。 |
progressWidth | 数值 | 必填 | 进度条宽度,进度条处于背景中间位置,最大值为 h 的一半。 |
iconWidth | 数值 | 必填 | 滑块图片宽度。 |
iconHeight | 数值 | 必填 | 滑块图片高度。 |
roundedCorners | 数值 | 选填 | 进度条圆角,取值范围:0-progressWidth,不填即为直角样式。 |
<Var name="Progress" direction="0" mode="3" topColor="#550000" bottomColor="#ff0000" bgSrc="jdt.png" iconSrc="hk.png" x="180" y="1605" w="700" h="60" progressWidth="20" iconWidth="60" iconHeight="40" roundedCorners="20" />
声音模式正常使用的必要条件:在设置页面打开主题对应的免打扰权限。
声音模式共3种(详见全局变量vibration),支持通过VariableCommand命令改变声音模式。
<VariableCommand name="vibration" expression="(#vibration+1)%3"/>
<!--通过点击按钮,切换声音模式-->
<Image y="762" x="74" src="moshi.png" srcid="#vibration"/>
<Button y="762" x="74" w="120" h="120">
<Trigger action="down">
<VariableCommand name="vibration" expression="(#vibration+1)%3"/>
<VariableCommand name="vibration" expression="0" condition="gt(#vibration,2)"/>
</Trigger>
</Button> <VariableCommand name="flashlightValue" expression="#flashlightValue+1" persist="false" />
创建固定变量flashlightValue,每次点击flashlightValue的值+1,同时为变量flashlight重新赋值:如果flashlight的值为0,则重新为其赋值为1;如果flashlight的值为1,则重新为其赋值为0。
<Image x="100" y="1100" w="300" h="150" src="close.png" visibility="eq(#flashlight,0)" />
<Image x="100" y="1100" w="300" h="150" src="open.png" visibility="eq(#flashlight,1)" />
<Button x="100" y="1100" w="300" h="150" >
<Trigger action="click">
<VariableCommand name="flashlightValue" expression="#flashlightValue+1" persist="false" />
</Trigger>
</Button> <VariableCommand name="automaticRotaryValue" expression="#automaticRotaryValue+1" persist="false" />
创建固定变量automaticRotaryValue,每次点击automaticRotaryValue的值+1,同时为变量automaticRotary重新赋值:如果automaticRotary的值为0,则重新为其赋值为1;如果automaticRotary的值为1,则重新为其赋值为0。
<Image x="100" y="1100" w="300" h="150" src="close.png" visibility="eq(#automaticRotary,0)" />
<Image x="100" y="1100" w="300" h="150" src="open.png" visibility="eq(#automaticRotary,1)" />
<Button x="100" y="1300" w="300" h="150" >
<Trigger action="click">
<VariableCommand name="automaticRotaryValue" expression="#automaticRotaryValue+1" persist="false" />
</Trigger>
</Button> <ProgressCommand mode="" change="" amplitude="" />
参 数 | 类 型 | 选 项 | 注 释 |
|---|---|---|---|
mode | 数值 | 必填 | 音量或屏幕亮度模式。0:通话音量;1:屏幕亮度;2:来电信息通知音量;3:音乐/视频/游戏音量;4:闹钟音量。 |
change | 数值 | 必填 | 进度条加减。0:减;1:加。 |
amplitude | 数值 | 必填 | 进度条加减的步进值。参照以下范围进行取值。
说明:
|
<!--点击按钮减少音乐/视频/游戏音量-->
<Image x="100" y="1600" w="70" h="70" src="subtraction.png" />
<Button x="100" y="1600" w="70" h="70" >
<Trigger action="click">
<ProgressCommand mode="3" change="0" amplitude="50" />
</Trigger>
</Button>
<!--点击按钮增加音乐/视频/游戏音量-->
<Image x="890" y="1600" w="70" h="70" src="addition.png" />
<Button x="890" y="1600" w="70" h="70" >
<Trigger action="click">
<ProgressCommand mode="3" change="1" amplitude="50" />
</Trigger>
</Button> 示例一:获取手机版本、手机可用空间、手机总空间数据,同时使用进度条展示手机可用空间占比。
<Var expression="strIndexOf(#storageFree,'GB')-1" name="index1"/> <Var expression="strIndexOf(#storageTotal,'GB')-1" name="index2"/> <Var expression="substr(#storageFree,0,#index1)" name="free" type="string"/> <Var expression="substr(#storageTotal,0,#index2)" name="total" type="string"/> <Text y="75" x="88" size="62" paras="#systemVersion" format="%s" color="#ffffff"/> <Text y="167" x="88" size="38" color="#cde969" text="版本号"/> <Image src="icons.png" y="295" x="73"/> <Text y="310" x="199" size="43" paras="#storageFree" format="%s可用" color="#ffffff"/> <Image src="xiegang.png" y="315" x="441"/> <Text y="310" x="467" size="43" paras="#storageTotal" format="%s" color="#ffffff"/> <Image src="jindutiao_bg.png" y="379" x="190"/> <Image src="progress/jindutiao.png" y="379" x="190" srcid="round(((#total-#free)/#total)*10)"/>
示例二:获取手机版本、开机时长、CPU使用率、获取CPU空闲率、手机可用空间、手机总空间等系统数据,支持控制手电筒开关和自动旋转开关,并支持调节音乐/视频/游戏音量。
<Text name="t1" color="#ffffff" format="手机版本:%s" paras="#systemVersion" size="50" x="100" y="300" />
<Var name="pollingTime" time="1" />
<Var name="deviceTime" assigning="dd天HH小时mm分钟" />
<Text name="t2" color="#ffffff" format="获取开机时长:%s" paras="#deviceTime" size="50" x="100" y="500" />
<Var name="processCpuRate" bit="3" />
<Text name="t3" color="#ffffff" format="获取CPU使用率:%s" paras="#processCpuRate" size="50" x="100" y="700" />
<Var name="processCpuFree" />
<Text name="t4" color="#ffffff" format="获取CPU空闲率:%s" paras="#processCpuFree" size="50" x="100" y="800" />
<Text name="t5" color="#ffffff" format="手机可用空间:%s" paras="#storageFree" size="50" x="100" y="900" />
<Text name="t6" color="#ffffff" format="手机总空间:%s" paras="#storageTotal" size="50" x="100" y="1000" />
<Text name="t7" color="#ffffff" format="手电筒开关:%s" paras="#flashlight" size="50" x="100" y="1200" />
<Button x="100" y="1100" w="300" h="150" >
<Trigger action="click">
<VariableCommand name="flashlightValue" expression="#flashlightValue+1" persist="false" />
</Trigger>
</Button>
<Var name="vibration" expression="0"/>
<Text name="t8" color="#ffffff" format="自动旋转开关:%s" paras="#automaticRotary" size="50" x="100" y="1400" />
<Button x="100" y="1300" w="300" h="150" >
<Trigger action="click">
<VariableCommand name="automaticRotaryValue" expression="#automaticRotaryValue+1" persist="false" />
</Trigger>
</Button>
<Image x="100" y="1600" w="70" h="70" src="subtraction.png" />
<Button x="100" y="1600" w="70" h="70" >
<Trigger action="click">
<ProgressCommand mode="3" change="0" amplitude="50" />
</Trigger>
</Button>
<Var name="Progress" direction="0" mode="3" topColor="#550000" bottomColor="#ff0000" bgSrc="jdt.png" iconSrc="hk.png" x="180" y="1605" w="700" h="60" progressWidth="20" iconWidth="60" iconHeight="40" roundedCorners="20" />
<Image x="890" y="1600" w="70" h="70" src="addition.png" />
<Button x="890" y="1600" w="70" h="70" >
<Trigger action="click">
<ProgressCommand mode="3" change="1" amplitude="50" />
</Trigger>
</Button>