小米主题xml编码高级教程(2)

2019-01-19 17:32

变量数组

Item 数组元素定义 expression 元素对应的表达式

value 如果元素是常量,则用value指定常量值

? ? ?

// 定义了一个每隔两秒轮换一次日期显示格式的DateTime元素. // 数组元素可以用来根据数字变量值显示不同的字符串

// 显示英文月份

全局变量

unlocker:

? ? ? ?

touch:

unlocker.move_x 解锁部件在x方向的偏移 unlocker.move_y 解锁部件在y方向的偏移 unlocker.move_dist 解锁部件移动的距离

unlocker.state 解锁部件的状态: 0 normal, 1 pressed, 2 reached

? ? ? ? ?

time:

touch_x 当前触摸点的x坐标 touch_y

touch_begin_x 按下屏幕时的初始x坐标 touch_begin_y

touch_begin_time 按下屏幕时的时间

? ? ?

time 当前时间,long time_sys 系统时间毫秒数 year 年份

? ? ? ? ? ? ? ? ?

农历

month 月份(取值范围是0~11,0表示一月,1表示二月,以此类推) date 日期

day_of_week 星期(1表示星期日,2表示星期一,等等) hour12 当前小时(12小时制) hour24 24小时制 minute 分钟 second 秒

ampm 上下午 0:am 1:pm time_format 0:12h 1:24h

? ? ? ? ?

battery:

year_lunar 农历年份

year_lunar1864 用来计算天干地支 month_lunar 农历月份 从1开始计 month_lunar_leap 0/1 是否润月 date_lunar 农历日期 从1开始计

? ?

screen:

battery_level 当前电量,1~100

battery_state 0正常 1充电 2电量低 3已充满

? ? ? ?

image:

screen_width 屏幕宽度 screen_height 屏幕高度

raw_screen_width 物理宽度(这个表示当前设备的屏幕分辨率,不受根节点screenWidth的影响) raw_screen_height 物理高度

? ? ? ?

music:

image.actual_w 图片实际宽度 image.actual_h

image.bmp_width 图片文件的宽度(不受裁切、缩放的影响,只根据src找到指定的图片,并检测该文件的宽度)

image.bmp_height

?

others:

music_control.music_state 0暂停 1播放

? ? ? ? ? ?

sms_unread_count 未读短信数 call_missed_count 未接电话数 @next_alarm_time 下一个闹钟时间

intercept_sys_touch 是否截获以后的触摸事件,避免被其他View捕获,例如在自由桌面widget中可以防止在widget上进行触摸操作时桌面滚动和进入编辑模式 frame_rate 当前屏幕帧率 volume_type

0 通话音量 1 系统音量 2 电话铃声,短信铃声 3 音乐播放器音量 4 闹钟音量 5 通知音量 6 连接蓝牙时的通话音量 7 在某些国家强制的系统音量 8 DTMF音量 9 TTS音量 10 FM音量

? ? ? ? ?

ring_mode 0 silent, 1 vibrate, 2 normal

wifi_state 0 disabled, 1 enabled, 2 problem, 3 half(intermediate) bluetooth_state 0 off, 1 on, 2 half data_state 0 off, 1 on

usb_mode 0 disconnected, 1 charge only, 2 storage, 3 intermediate

表达式

支持加减乘除取模括号和函数 加减乘除取模 : + - * / %

支持函数:sin, cos, tan, asin, acos, atan, sinh, cosh, sqrt, abs, min, max 不解释

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

len(数字) 给定数字位数 len(1234)=4

digit(数字, 第几位) 取给定数字的第几位 digit(12345, 2) = 4 注意:下标从右向左,并且从1开始 substr(原字符串,字串开始位置,字串长度) substr('今天真热',1,2) = '天真' round() 四舍五入取整 int()向下取整 eq(x, y) // x==y ? 1 : 0 ne(x, y) // x!=y ? 1 : 0 ge(x, y) // x>=y ? 1 : 0 gt(x, y) // x>y ? 1 : 0 le(x, y) // x<=y ? 1 : 0

lt(x, y) // x isnull(x) // x==null ? 1 : 0 // 是否表达式包含空变量,通常用于判断绑定的变量是否查到数据 not(x) x>0 ? 0 : 1 ifelse(x, y, z) // x>0 ? y : z ifelse(x1, y1, x2, y2, ... , z)

if x1>0 return y1; else if x2>0 return y2; ... ; else return z

+可以拼接字符串 , 一些函数也可以支持字符串,isnull可以判断字符串变量是否为空,ifelse可以选择字符串,字符串比较函数eqs(@string1, @string2)

元素可见性支持表达式 visibility=“表达式” <=0 不可见 >0可见 Image, Text, Time的属性

align= left, center, right 坐标点水平对齐方式 alignV= top, center, bottom 坐标点垂直对齐方式

文本

显示指定格式的文字,坐标属性支持变量

? ? ? ? ? ? ? ? ? ? ? ? ? ?

color: 文字颜色,#FFFFFF size: 文字大小

format: 如果需要在文字中显示变量数字,需要指定格式, 用%d 指定数字位置

paras: 如果指定了format, 需要在paras里指定%d对应的变量表达式, 可以有多个变量表达式用\隔开 align: left, center, right,文字坐标的对齐方式

textExp: 文字表达式,可以直接调用变量等如想要输出“现在时间是9点”,可以写成textExp=\现在时间是'+#hour12+'点'\

width 文字宽度,当文字超过指定宽度时会被切掉。如果指定了多行显示,则会折行显示。如果指定了文字滚动,则会在指定的位置滚动显示文字

marqueeSpeed 文字滚动速度,配合上面的宽度使用

marqueeGap 滚动间隔。当文字显示完后再次出现的间隔,默认为四个汉字的宽度

rotation(X,Y,Z) 旋转角度,旧的angle也可以使用,不过建议用rotation,因为比较高端大气国际化 multiLine ture/false 是否支持多行显示,默认false spacingMult 行距倍数 默认1 spacingAdd 行距增加量 默认0

text.text_width 某行文本的宽度,可以用来排版

实例用法:

显示下一个闹钟时间

textExp属性支持字符串表达式:

*天气信息,如果温度为空显示-- 非空显示数值

textExp=\℃'\

时间


小米主题xml编码高级教程(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在全县安全生产专项整治工作会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: