制作技巧教程版千葉_第1頁(yè)
制作技巧教程版千葉_第2頁(yè)
制作技巧教程版千葉_第3頁(yè)
制作技巧教程版千葉_第4頁(yè)
制作技巧教程版千葉_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MORE&MAML概?MAML引擎腳本語(yǔ)MIUIApplicationMarkupLanguageforMORE(MIUIMORE&MAML概?MAML引擎腳本語(yǔ)MIUIApplicationMarkupLanguageforMORE(MIUIMORE引擎應(yīng)用標(biāo)記語(yǔ)言?MORE渲染引MarkupOrientedRenderingEngine(基于標(biāo)記語(yǔ)言的渲染引擎?概最初用于百變鎖屏,使用 用特定的語(yǔ)法描述鎖屏界面。后來(lái)不斷增強(qiáng)功能,逐步演化成一套接近通用的面描述語(yǔ)言和圖形渲染引擎,在一定需求下可用于開(kāi)發(fā)風(fēng)格多變的用戶界面??煞奖愕赝ㄟ^(guò)更換皮膚改變界風(fēng)格、動(dòng)畫甚至交互方式MAML語(yǔ)言和Android的界面描述xml類似.所不同的是Android描述的是靜態(tài)界面,對(duì)界面元素的更改依賴java代碼。MML描述的是靜態(tài)界面動(dòng)態(tài)屬性,I在時(shí)間線上按一定的幀率不斷刷新,I顯示根據(jù)元素屬性的變量表達(dá)式的計(jì)算結(jié)果實(shí)時(shí)更新。MML語(yǔ)言和運(yùn)行時(shí)引擎已經(jīng)從鎖屏中獨(dú)立出來(lái)作為MIUI內(nèi)置的通用框ContentProvider來(lái)獲取各種信息如天氣。顯示圖片文本等各種元件、鬧鐘響鈴界面框架支持動(dòng)態(tài)幀率,不必按照固定幀率不停渲染,在沒(méi)有動(dòng)畫和更新的時(shí)侯停止渲染,此時(shí)僅占用極少資源對(duì)于緩慢變化的動(dòng)畫使用低幀率渲染,高動(dòng)態(tài)的動(dòng)畫開(kāi)始后立即調(diào)整到高幀率全速渲染。全速渲染時(shí)全屏幀基本可以達(dá)到60幀。合理使用可以既炫酷又不MORE引擎適用哪些類型的界面?1.展示性的信息,如圖片,文字(不適合列表信息和大段文本,不適合用戶輸入5.需要靈活更換皮膚風(fēng)格,并且界面動(dòng)畫和交互動(dòng)畫甚至部分交互方式都可以通過(guò)皮膚更換。需更改應(yīng)用程序比如一些簡(jiǎn)單的工具類應(yīng)用程序、無(wú)輸入的操作界面希望能更換操作模式(例如來(lái)電接聽(tīng)界面)和桌面小工可以考慮使用,也可以作為一個(gè)動(dòng)畫框架實(shí)現(xiàn)類似電子賀卡的界面,可支持交互,做為應(yīng)用程序中的彩蛋(如短信中的生日彩蛋?MIUI主題MORE的模百變鎖桌面時(shí)鐘需要有豐富的界面動(dòng)畫及交互動(dòng)畫中onTouchEvent所能做到的交互)可以通過(guò)xml代碼方便地描述實(shí)現(xiàn)。動(dòng)態(tài)圖天氣小工具com.miui.home.launcher.gadget.Weather_2x4_customMAML在百變鎖屏中的應(yīng)百動(dòng)態(tài)圖天氣小工具com.miui.home.launcher.gadget.Weather_2x4_customMAML在百變鎖屏中的應(yīng)百變鎖屏在主題包里的lockscreen/advance目錄下,manifest.xml文件是描述腳<LockscreenframeRate=""displayDesktop=""指定幀率,如果動(dòng)畫緩慢,可以指定小一點(diǎn)的值,省電。默認(rèn)為30displayDesktop:默認(rèn)為false,透視到桌面功能,如果沒(méi)有鎖屏壁紙或者鎖屏壁紙可以被移開(kāi)或透明時(shí)可以到桌面launcher或者是鎖屏前的應(yīng)用程序。可以完美實(shí)現(xiàn)WP7,Meego,阿里云等的解默認(rèn)為false,是否在鎖屏界面顯示桌面壁紙。開(kāi)啟后如果沒(méi)有指定鎖屏壁<Wallpaper/>,會(huì)將桌面壁紙作為鎖屏的壁紙screenWidth:720,鎖屏中所有元素的位置都按720p的布局編寫,480p的MAML在百變壁紙及動(dòng)態(tài)圖標(biāo)中的應(yīng)百變百變壁紙?jiān)谥黝}包的miwallpaper目錄下,描述文件也是manifest.xml。根節(jié)點(diǎn)表示與百變鎖屏基本一<MiWallpaperframeRate="1"width="720"height="1280" width:表示百變壁紙的寬度 height:表示高<Image<Image…相框小工鬧鐘響鈴界面自由桌面動(dòng)態(tài)小部件百變壁紙com.miui.home.launcher.MiWallpaper(基于另外,如果要實(shí)現(xiàn)元素跟隨手指滑動(dòng)的效果,需要借助??wallpaper_offset_pixel_x:偏移另外,如果要實(shí)現(xiàn)元素跟隨手指滑動(dòng)的效果,需要借助??wallpaper_offset_pixel_x:偏移的像素?cái)?shù)(0~-1*屏寬wallpaper_offset_x:偏移百分比(0~二者關(guān)系:#wallpaper_offset_x*屏寬滑動(dòng)時(shí):在第一屏,wallpaper_offset_pixel_x=0,wallpaper_offset_x=0;滑到最后一屏wallpaper_offset_pixel_x=-1*屏寬,wallpaper_offset_x=為了適配不同分辨率機(jī)型,建議使用#wallpaper_offset_x。建議的設(shè)計(jì)方式壁紙定位:x="-#wallpaper_offset_x*屏寬"需要跟隨滑動(dòng)的元素定位:x="-#wallpaper_offset_x*屏寬+相對(duì)壁紙的位置?動(dòng)態(tài)動(dòng)態(tài)圖標(biāo)在主題包icons\fancy_icons\目錄下,每個(gè)動(dòng)態(tài)圖標(biāo)是一個(gè)文件夾,文件夾的名字是對(duì)應(yīng)的app包名 描述文<Iconversion="1"frameRate=""width="136"height="136" false,屏蔽右上角的通知標(biāo)志間小工具每秒更新一次,需要指定更新周期為1 示日期,則每天更新一次,可以指定更新周期為 天。盡量選擇較長(zhǎng)的更新周期,以節(jié)約系統(tǒng)資源目前支tag:Battery,DateTime.Day,如果某個(gè)小工具不需要電量或時(shí)間變量,則需要useVariableUpdater="none",指定不做時(shí)間變量如果某個(gè)小工具顯示系統(tǒng)電量并且顯示根據(jù)時(shí)間每小時(shí)更換背景圖片如果需要每秒進(jìn)行多次刷新,可以直接使用主題里面一些目錄的/thread-969981-1-Wallpaper元素引用系統(tǒng)設(shè)置的壁紙,除了不能指定圖片源外其他和ImageWallpaper元素引用系統(tǒng)設(shè)置的壁紙,除了不能指定圖片源外其他和Image元素相同,可以有動(dòng)畫和控制。如果沒(méi)有此元素則不顯示壁紙。可以有多個(gè)。例子:<Var>變<Varname=""expression=""type=""const=""threshold=""persist=""name變量expression變量對(duì)應(yīng)的表達(dá)式或常量如果定義字符串常量需要多一套單引號(hào)expression="'mystring'"type=number/string定義數(shù)值變量或字符串變量默認(rèn):numberconst=true變量只會(huì)在初始化時(shí)計(jì)算一次,以后不會(huì)重新計(jì)算,可以提高效率。如果變量值會(huì)在鎖屏運(yùn)????間改變,const設(shè)為falseblur模糊程度,好像是越大越模糊1-閾值觸發(fā),當(dāng)變量值的變化超過(guò)設(shè)定的閾值時(shí),可以觸發(fā)一些命令。例如<Varname="time3"expression="#minute%10" 上述代碼表示#time3的值每變化1,就會(huì)執(zhí)行<Trigger/>里面的 默認(rèn)false,變量持久化。指定為true后,如果沒(méi)有重新給定該變量其他的值,那么這個(gè)值會(huì)一存,無(wú)論解鎖后重新鎖定或者重新應(yīng)用主題都不會(huì)還<VarArray>變量數(shù)<VarArray<Varname="date_format1"<Varname="date_format2"index="2"<Itemexpression="ifelse(isnull(@date_format),'MMMMd<Itemexpression="ifelse(isnull(@date_format),'MMMMdEEEE',<Item???Item數(shù)組元素定value如果元素是常量,則用value指定常量//定義了一個(gè)每隔兩秒輪換一次日期顯示格式的DateTime元素//數(shù)組元素可以用來(lái)根據(jù)數(shù)字變量值顯示不同的字符<!--ifconstistrue,thevariablewillonlyevaluateonceattheinitialtime,-->type="number"<Varname="text_size_date"expression="ifelse(isnull(#text_size_date),18,#text_size_date)"type="number"const="true"/><VarArray<Varname="date_format1"<Varname="date_format2"index="2"<Itemexpression="ifelse(isnull(@date_format),'MMMMdEEEE',<Item<Itemvalue="yyyy年<Item<Itemvalue="d日//顯示英文<VarArray<Varname="month_str"<Item<Item<Item<Item<Texttext="@month_str"color="#FFFFFFFF"size="20"...?<Texttext="@month_str"color="#FFFFFFFF"size="20"...????unlocker.move_x解鎖部件x方向的偏移unlocker.move_y解鎖部件y方向的偏移unlocker.move_dist解鎖部件移動(dòng)的距離unlocker.state解鎖部件的狀態(tài)0normal,1pressed,2??????touch_x當(dāng)前觸摸點(diǎn)的xtouch_begin_x按下屏幕時(shí)的初始x360取滑動(dòng)#toucu_xtouch_begin_time按下屏幕時(shí)的時(shí)????????????time當(dāng)前時(shí)間,longtime_sys系統(tǒng)時(shí)間毫秒數(shù)year年份month月份(取值范0~11,0表示一月,1表示二月,以此類推date日day_of_week星期(1表示星期日,2表示星期一,等等hour12當(dāng)前小時(shí)(12小時(shí)制minute分鐘second秒ampm上下午0:amtimeformat0:12h農(nóng)???year_lunar農(nóng)歷年year_lunar1864用來(lái)計(jì)算天干地month_lunar農(nóng)歷月份1開(kāi)始??month_lunar_leap0/1是否潤(rùn)date_lunar農(nóng)歷日期1開(kāi)始??battery_level當(dāng)前電??month_lunar_leap0/1是否潤(rùn)date_lunar農(nóng)歷日期1開(kāi)始??battery_level當(dāng)前電量battery_state0正常1充電23已充????screen_width屏幕寬screen_height屏幕高物理寬度(這個(gè)表示當(dāng)前設(shè)備的屏幕分辨率,不受根節(jié)點(diǎn)screenWidth的影響image.actual_x圖片實(shí)際x位????? 圖片文件的寬度(不受裁切、縮放的影響src找到指定的圖片,并檢測(cè)寬度music_control.music_state0暫停1播sms_unread_count未讀短信call_missed_count未接電話@next_alarm_time下一個(gè)鬧鐘時(shí)????在 是否截獲以后的觸摸事件,避免被其他View捕獲,例如在自由桌面widget中可frame_rate當(dāng)前屏幕??01系統(tǒng)音量2電話鈴聲,短信鈴聲3音樂(lè)播放器音量4鬧鐘56連接藍(lán)通話音量7在某些國(guó)家強(qiáng)制的系統(tǒng)音量8DTMF音量9TTS音量10FM音ring_mode0silent,1vibrate,2wifi_state0disabled,1enabled,2problem,3bluetooth_state0off,1on,wifi_state0disabled,1enabled,2problem,3bluetooth_state0off,1on,2data_state0off,1usb_mode0disconnected,1chargeonly,2storage,3????表達(dá)支持加減乘除取模括號(hào)和函加減乘除取模*支持函數(shù):sin,cos,tan,asin,acos,atan,sinh,cosh,sqrt,abs,min,max不解隨機(jī)函數(shù)rand(),范圍<Varexpression="#second"<VariableCommandname="rand_num"len(數(shù)字)給定數(shù)字digit(數(shù)字,第幾位)取給定數(shù)字的第幾位digit(12345,2)4注意:下標(biāo)從右向左,并且從1開(kāi)substr(原字符串,字串開(kāi)始位置,字串長(zhǎng)度)substr('今天真熱',1,2)='天真???????????????round()四舍五入取int()向下取eq(x,y)//x==y表達(dá)式成立為1,反ne(x,y)x!=y表達(dá)式成立為1,反之為ge(x,y)//x>=y表達(dá)式成立為1,反gt(x,y)//x>y表達(dá)式成立為1,反之為0le(x,y)x<=y表達(dá)式成立為1,反之為0lt(x,y)//x<y表達(dá)式成立為1,反之為0isnull(x)x==null10是否表達(dá)式包含空變量,通常用于判斷綁定的變量是否查到數(shù)not(x)//x>0表達(dá)式成0,反之為ifelse(x,y,z)//x>0表達(dá)式成立則輸出y,否則輸出ifelse(x1,y1,x2,y2,z)//ifx1>0returny1;elseifx2>0returny2;elsereturnz//如果x1>0,否則如x2>0,y2,否則x3……,都不成立則輸出+可以拼接字符串函數(shù)也可以支持字符串,isnull可以判斷字符串變量是否為空,ifelse可以選擇字符eqs(@string1,@string2)字符串比較函元素可見(jiàn)性支持表達(dá)式visibility=“表達(dá)<=0不可>0可Group,Image,Text,Time的屬align=left,center,right坐標(biāo)點(diǎn)水平alignV=top,center,bottomalign=left,center,right坐標(biāo)點(diǎn)水平alignV=top,center,bottom坐標(biāo)點(diǎn)垂直對(duì)齊方字符串相關(guān)<Varname="str_StartsWithexpression="strStartsWith('123456789','12判斷字符串是否是某字符串開(kāi)頭(true)--><Varname="str_EndsWith"expression="strEndsWith('123456789','89判斷字符串是否是某字符串結(jié)束(true)--><Varname="str_IndexOfexpression="strIndexOf('123as455aaas6789','as')"/><!--字符串第一次出現(xiàn)的位置(3)--><Varname="str_LastIndexOf"expression="strLastIndexOf('123as455aaas6789','as')字符串最后一次出現(xiàn)的位置(10)-->"<Varname="str_Containsexpression="strContains('123as455aaas6789','aa')字符串是否包含某字符串(true)-->""/><!--)"/><!--"""/><!--<Varname="str2"type="stringexpression="strReplace('123as455aaas6789','aa','kk')"替換字符串中的子字符串('123as455kkas6789')--><Varname="str3type="stringexpression="strTrim('123顯示指定格式的文字,坐標(biāo)屬性支持變color顏色,#FFFFFF除了16進(jìn)制表可以使用color="argb(255,200,100,0)"??????size:文字大bold:粗體,true表示加format需要在文字中顯示變量數(shù)字,需要指定格式,用%d指定數(shù)字位置,%s代表字符位paras:如果指定了format,需要在paras里指定%d對(duì)應(yīng)的變量表達(dá)式,可以有多個(gè)變量表達(dá)式用","隔alignleft,center,right,文字坐標(biāo)的對(duì)齊方 文字表達(dá)式,可以直接調(diào)用變量等如想要輸出“現(xiàn)9點(diǎn)”,可以寫成textExp="'現(xiàn)在時(shí)間'+#hour12+'點(diǎn)文字寬度,當(dāng)文字超過(guò)指定寬度時(shí)會(huì)被切掉。如果指定了多行顯示,則會(huì)折行顯示。如果指定動(dòng),則會(huì)在指定的位置滾動(dòng)顯示文字滾動(dòng)速度,配合上面的寬?????????滾動(dòng)間隔。當(dāng)文字顯示完后再?????????滾動(dòng)間隔。當(dāng)文字顯示完后再次出現(xiàn)的間隔,默認(rèn)為四個(gè)漢multiLineture/false是否支持多行顯示,默認(rèn)falsespacingMult行距倍數(shù)默認(rèn)1spacingAdd行距增shadowDx水平方向的陰影相對(duì)文字的偏移距shadowDy豎直方向的陰影相對(duì)文字的偏移距shadowRadius陰影的模糊半徑,可以實(shí)現(xiàn)模糊的陰影效shadowColor陰影的顏色,支持透明<TextshadowDx="3"shadowDy="4"?某行文本的寬度,可以用來(lái)排實(shí)例用<Textname="tt"實(shí)例用//顯示下一個(gè)鬧鐘<Texttext="@next_alarm_time"<Textformat="下一個(gè)鬧鐘:[%s]電池textExp屬性支持字符串表達(dá)式*天氣信息,如果溫度為空顯示--非空顯示數(shù)<Textvisibility="#hasweather"x="(#screen_width/2)+180"y="#screen_height-290"w="360"size="36"color="#ffffff"align="right"textExp="ifelse(isnull(#weather_temperature),'--',#weather_temperature)+'℃隨機(jī)顏<Textx="40y="60color="argb(255,rand()*255,rand()*255,rand()*255)size="32"textExp="'隨機(jī)顏色'"/><Timex="10"y="10"src="time.png"</Timesrc表示時(shí)間圖片的前綴,如下表示使用time_0.png,time_1.png,...time_9.png,time_dot.png.坐標(biāo)屬性支變量表表示時(shí)間圖片的間隙,我們可以使用這個(gè)功能來(lái)對(duì)時(shí)間圖片進(jìn)行排版,使用正值時(shí)圖片間距變大,這表示時(shí)間圖片的間隙,我們可以使用這個(gè)功能來(lái)對(duì)時(shí)間圖片進(jìn)行排版,使用正值時(shí)圖片間距變大,這可以將圖片切小,節(jié)省內(nèi)存。對(duì)于有投影的圖片,將 寫成負(fù)值,可以使投影重疊以節(jié)省空顯示指定格式的日f(shuō)ormat:支持標(biāo)準(zhǔn)日期格式,另外增加農(nóng)歷<DateTimex=""y=""color=""size=""?九月M->MM->?7分鐘m->mm->mmm->mmmm->?197046"yyyy/MM/ddh:mmaa"->"1970/04/06"Mdh:mmaa""46?星"EEEE"->"星期三"紀(jì)念日M/d"紀(jì)念日?24小時(shí)"kk:mm"圖片部件用來(lái)在鎖屏界面上顯示一個(gè)圖片,可以指定各種屬<Imagex=""y=""w=""h=""pivotX=""pivotY=""rotation=""src=""alpha=""align=""w,h寬和????pivotX,pivotY旋轉(zhuǎn)中心rotation旋轉(zhuǎn)角度360????pivotX,pivotY旋轉(zhuǎn)中心rotation旋轉(zhuǎn)角度360度src圖片名稱srcid圖片序列后綴數(shù)字,一般用變量表示,可以根據(jù)變量顯示不同的圖片,如果src="pic.png"srcid="1"最后會(huì)???????????alpha0-255,小于0不顯antiAlias srcExp圖片源表達(dá)srcFormat圖片源格式srcForamtExp圖片源格式表達(dá)式srcParas圖片源參數(shù)align/alignV對(duì)齊方式,上文已經(jīng)介紹<Imagename="homescreen"srcType="Screenshot"/>截取鎖屏界面以下的<Commandtarget="homescreen.animation"value="play"/>命令控制重新截屏mesh:m,nm與n為常量,表示將圖片分成m*n塊表示圖片塊的頂點(diǎn)坐標(biāo),共(m+1)*(n+1)個(gè)頂點(diǎn),順序?yàn)閺淖蟮接?,從上到?dāng)有Maskmesh不生效。mesh只支持整張圖片的變形,有srcW,srcH限定圖片范圍時(shí)也不生效例子<Imagex="0"y="-1.5"mesh="1,1"<Imagex="0"y="#screen_height-323"<Imagename="img"...//srcExp:圖片源表達(dá)<Imagex="210"y="-26"align="center"srcExp="'weather/weather_'+#weather_id+@icon_suffix+'.png'"/><Imagename="homescreen"<ImageNumbernumber=""number是要顯示的數(shù)字表達(dá)src是圖片源的文件如果src="number.png"則會(huì)使用number_0.pngnumber_1.png...圖片文件來(lái)繪制數(shù)字。類如果src="number.png"則會(huì)使用number_0.pngnumber_1.png...圖片文件來(lái)繪制數(shù)字。類似Time部選擇任意圖片顯示/thread-2691964-1-config.xml新增ImagePicker條目,可以讓用戶選擇手機(jī)中的某個(gè)圖片,獲取其地址到變 <Grouptext="自定義圖片summary="請(qǐng)先將圖片裁剪到合適大小和部位以確保顯示效 <ImagePickertext="圖片一summary="選擇圖片一 <ImagePickertext="圖片二summary="選擇圖片二 manifest.xml中Image支持Urisrcconfig中選擇的圖片地址,@img1<Imagex="0"y="0"src="@img1"<Imagex="0"y="500"src="@img2"清除圖<VariableCommandname="img1"expression="''"type="string"將相應(yīng)變量置空即<Imagex="444"y="#screen_height-92" <Positionx="-438"y="0"<Maskx="0"y="#screen_height-92"???x,y坐遮罩圖片,不透明黑色部分表示不透明,其他部分為透align坐標(biāo)是相對(duì)于所屬圖片還是絕對(duì)位置,如果是相對(duì),圖片移動(dòng)是遮罩會(huì)相應(yīng)跟隨移動(dòng)。否則遮罩保動(dòng)遮罩同樣可以有源動(dòng)畫,旋轉(zhuǎn)動(dòng)畫,和位置動(dòng)畫,屬性支持變量表達(dá)<Maskx=""y=""src=""centerX=""centerY=""angle=""Group使用layered時(shí),請(qǐng)務(wù)必w,h,否則無(wú)法生效例子<Groupw="#screen_width"h="#screen_height"<Imagex="300"y="500"<Imagex="300"y="500"src="mask.png"xfermode="dst_in"src_in表示按照本標(biāo)簽圖像作為Xfermode具體用法看MAML圖片混合功<Groupw="#screen_width"h="#screen_height"<Imagex="300"y="500"<Imagex="300"y="500"src="mask.png"xfermode="dst_in"xfermodeNum為了使混合模式支持變量表達(dá)式。表達(dá)式的取值對(duì)應(yīng)一種混合模式,src,dst,src_over,...xor依次取值1,2.3...11的Image,按照xfermode的取值與之混合。,且我們推薦您這么做,因?yàn)?lt;Mask/>的繪圖效率并不高,可能導(dǎo)致你的主題出現(xiàn)卡頓現(xiàn)象所有元素都支持動(dòng)動(dòng)畫分為:圖片源,位置,大小,旋轉(zhuǎn),透明每種動(dòng)畫相互獨(dú)立,各自循環(huán)播放,動(dòng)畫由若干關(guān)鍵幀組成,關(guān)鍵幀包括幀屬性和時(shí)間,除圖片源動(dòng)畫外動(dòng)畫會(huì)根據(jù)當(dāng)前時(shí)間找到相鄰的兩個(gè)關(guān)鍵幀,然后線性插值計(jì)算當(dāng)前的屬性。如果第一幀時(shí)間不從0開(kāi)始則默認(rèn)時(shí)間為0的第一幀為圖片原始屬性,時(shí)間單位為毫秒位置動(dòng)畫中的位置是相對(duì)于圖片自身的坐 <Positionx="10"y="20" <Positionx="100"y="200"<Rotationangle=""<Rotationangle=""<Sizew=""h=""<Sizew=""h=""<!--0-255--<Alphaa=""<!--0-255--<Alphaa=""<Alphaa=""例子:位置動(dòng)畫表示1秒從屏幕最左端到最右端,停留1秒,透明度動(dòng)畫表示開(kāi)始透明度為175,在從最到最右端過(guò)程中透明度不變,到達(dá)0.5秒漸變?yōu)椴煌?.5秒變?yōu)橥该飨缓笱h(huán)播放loop="false"initPause="true"<Imagex="0"y="#screen_height-177" <Positionx="480"y="0" <Positionx="480"y="0" <Alphaa="175" <Alphaa="175" <Alphaa="255" <Alphaa="0"注意:只有圖片支持圖片源動(dòng)圖片源動(dòng)畫稍有不同,沒(méi)有插值,x, 可選,表示相對(duì)圖片的位置當(dāng)前時(shí)間的那個(gè)點(diǎn)指當(dāng)前的圖片是在列表里的找到第<Sourcex=""y=""src="pic1.png"<Sourcex=""y=""src="pic2.png"新的動(dòng)畫tag,原來(lái)Animationtag比較難記,新的不管什么動(dòng)畫類型內(nèi)部tag都可以用Item,屬只有一個(gè)值時(shí)可以value屬性(Rotationangle),屬性多個(gè)值時(shí)用原來(lái)的屬性名(比如Position的xy)兼容之前的tag語(yǔ)法<RotationAnimation<Itemvalue="0"time="0"easeType="ElasticEaseInOut"<Itemvalue="360"time="1000"<Itemvalue="#rl_x1"time="0"<Itemvalue="#rl_x2"time="300"<ScaleAnimation<Itemvalue="0"time="0"easeType="ElasticEaseOut"<Itemvalue="1"time="1000"其他整理的動(dòng)畫小代碼點(diǎn)擊跳到動(dòng)畫變其他整理的動(dòng)畫小代碼點(diǎn)擊跳到動(dòng)畫變Group支持旋轉(zhuǎn),縮放,3DVirtualScreen: 或scale="expression"3D旋轉(zhuǎn):<Groupname=""x=""y=""w=""h=""加坐標(biāo)和寬高,可以便捷地一次性調(diào)整多個(gè)元素的位置和大小。同時(shí)Group還能添加各種動(dòng)畫,種類與Image一樣新的版本還添加了幀率控制,如果一個(gè)組里的元素都是靜止的,可以添framaRate="0",系統(tǒng)會(huì)根個(gè)組的幀率來(lái)自動(dòng)調(diào)整刷新頻率,降低內(nèi)存和cpu占用。所以很推薦大家在添加Group時(shí)隨手加上對(duì)categoryNormalcategory屬性的元素僅會(huì)在該狀態(tài)下顯示,可以用來(lái)做充電文字,動(dòng)<ImageNormalcategory屬性的元素僅會(huì)在該狀態(tài)下顯示,可以用來(lái)做充電文字,動(dòng)<Imagex="100y="100"src="pic.pngSlider/Unlocker<Unlockervisibility="true"name="unlocker"name:名字,用來(lái)做變量bounceInitSpeed,bounceAccelation回彈動(dòng)畫初始速度和加速度(距離單位為像素,時(shí)間單位為秒),都支持?????delay:毫秒延遲解鎖,可以在解鎖前做一些過(guò)渡動(dòng)alwaysShow="true/false"默認(rèn)是false,當(dāng)一個(gè)Slider可見(jiàn)時(shí),其他Slider消失可以有任意個(gè)Slider部件TriggerSlider的狀態(tài)切換時(shí),支持Trigger觸起始點(diǎn):起始點(diǎn)中包含的元素都會(huì)跟隨當(dāng)前操作的拖動(dòng)移動(dòng)位置<StartPointx=""y=""w=""h=""normalSound="" //從其他狀態(tài)切換到NormalState時(shí),觸發(fā)該 //從其他狀態(tài)切換到PressedState時(shí),觸發(fā)該 //從其他 //從其他狀態(tài)切換ReachedState時(shí),觸Trigger 三個(gè)狀態(tài)都可以不指定,可以使用變量來(lái)改變其他界面元素狀態(tài)來(lái)表示觸發(fā)過(guò)程Slider目標(biāo)點(diǎn):當(dāng)起始點(diǎn)的x,y點(diǎn)落入EndPoint目標(biāo)區(qū)域矩形時(shí),達(dá)到觸發(fā)位置,此時(shí)松開(kāi)手指即可以產(chǎn)生發(fā),可以有多個(gè)觸發(fā)目的<EndPointx=""y=""w=""h=""<Intentaction=""type=""category=""package=""<!--showthetargetpositionifpressedtryingtounlock--<!--showspecifiedimagewhenreachedtarget,iftouchupthenperform <!--Slidertolerance:開(kāi)始觸發(fā)操作后移動(dòng)時(shí)路徑最大距離超過(guò)這個(gè)值則取消,回到正常狀態(tài)。Path可以指定x,y坐標(biāo),默認(rèn)為0,Position的坐標(biāo)為相對(duì)坐標(biāo)。--><Pathx=""y="" <Positionx=""y="" <Positionx=""y=""例子<Slider<StartPointx="31"y="#screen_height-117"w="90" <Imagex="31"y="#screen_height-117" <EndPointx="359"y="#screen_height-117"w="90" <Imagex="359"<EndPointx="359"y="#screen_height-117"w="90" <Imagex="359"y="#screen_height-117" <Pathx="0"y="#screen_height- <Positionx="31"y="0" <Positionx="359"y="0"Sliderintent也可以為TriggerCommand,一個(gè)Trigger可以有Command。Trigger請(qǐng)見(jiàn)Trigger&?新增滑動(dòng)及解鎖控件的endpoint狀態(tài)變<EndPointname="end1"0: 1:pressedUnlocker繼承Slider,以上用法只需把tag名的Slider???解鎖部件回彈動(dòng)畫,請(qǐng)/thread-290094-1-滑塊偏離路徑的最大允許值,偏離不超過(guò)這個(gè)值,都認(rèn)為滑塊在沿著路徑滑動(dòng),否則視為脫離徑,滑動(dòng)失敗滑塊回到起")"/><Varname="move_dyexpression="(#touch_y-#touch_begin_yconst="false"/>滑塊<Varname="move_radius"<Unlockername="unlocker" <StartPointx="#touch_begin_x"y="#touch_begin_y"w="1" <EndPointx="ifelse(ge(#move_radius,#unlock_dist),#touch_x,-1)"y="ifelse(ge(#move_radius,#unlock_dist),#touch_y,-1)"w="1"h="1"> 百變鎖屏這周的版本新增了解鎖部件回彈動(dòng)畫的改了一下dreamlock百變鎖屏這周的版本新增了解鎖部件回彈動(dòng)畫的改了一下dreamlock的鎖屏,大家體驗(yàn)一說(shuō)明<Unlockername="unlocker"bounceInitSpeed="10"<Unlockername="unlocker"bounceInitSpeed="-初始位置時(shí)速度為零,根據(jù)勻變速運(yùn)動(dòng)公式可以計(jì)算出加速度的表a=-v*v/2da:加速度v:d:移動(dòng)離?鎖屏StartPoint:normalSound,pressedSound,指定在normalpress狀態(tài)播放的EndPoint:reachedSound,到達(dá)該endpoint后播<Unlocker<StartPointx="0"y="440"w="480"h="400"<EndPointx="0"y="640"w="480"h="400"按鈕元素可以用來(lái)接收點(diǎn)擊,雙擊等事件,并可根據(jù) 的定義來(lái)控制界面上其他元素。按鈕元素也可以事件傳遞給界面上其他元素,來(lái)使其他元素響應(yīng)用戶在鎖屏界面上的操作<Buttonname=""x=""y=""w=""h=""所有元素增加name屬性,按鈕的控制對(duì)象通過(guò)name來(lái)指???x,y,w,h指定了按鈕區(qū)域 指定該按鈕的事件要傳給哪個(gè)元素alignChildren="true"button標(biāo)簽下的子標(biāo)簽(比如image)坐標(biāo)以button標(biāo)簽位置為起點(diǎn)一個(gè)Button可以有若干個(gè)trigger,trigger定義了按鈕動(dòng)作引發(fā)相關(guān)的操作,如控制某元素的屬<Triggeraction=""target=""property=""action:按鈕動(dòng)作down按下up抬起double雙擊)cancel(取消)long長(zhǎng)按,暫時(shí)未實(shí)現(xiàn)???target:控制目標(biāo)property:屬性名,???target:控制目標(biāo)property:屬性名,目前支持:visibility以后會(huì)增加其他屬性控value:屬性值,目前boolean有true,false,通常用 控制的目標(biāo)有三類,分別是可見(jiàn)性控制,播放動(dòng)畫,以及執(zhí)行命令,簡(jiǎn)單演示 <Trigger <VariableCommandname="test1" 關(guān)于命令<Command/>在后面會(huì)有詳Button元素的xml結(jié)構(gòu) <!--ImageText等,也可以不指定,如果指定了normal狀態(tài),則顯示normal狀態(tài)元素。--> 指定名稱,從而使顯示與否可以由另一個(gè)按鈕控制,比如雙擊。必須包含指定名稱,從而使顯示與否可以由另一個(gè)按鈕控制,比如雙擊。必須包含4Button1Text,并name分別為指定的名稱??梢园渌我饨缑嬖厝鏘mage等????autoShowtrue/false如果在播放音樂(lè)時(shí)進(jìn)入鎖屏,是否自動(dòng)顯示MusicControlmusic_state播放狀態(tài)0停止1播放更新后音樂(lè)播放支持歌名和歌手名字分開(kāi)顯示,分別使用和MusicControl增加了以下屬性用于支持歌詞顯示:(如你所見(jiàn),上面demo里面的歌詞效果就是通過(guò)這些實(shí)現(xiàn)的是否開(kāi)啟歌詞支持。因?yàn)殚_(kāi)啟歌詞后會(huì)有一定性能的損失,所以不需要歌詞的時(shí)候不updateLyricInterval:歌詞信息的更新間隔。間隔越小,更新越及時(shí),但帶來(lái)的性能損失也越大,建議在卡拉OK歌詞的時(shí)候,將間隔適當(dāng)設(shè)小,其他時(shí)候?yàn)榱诵阅芸紤],將間隔適???????? 已播放@mc.lyric_current:正在播放的歌未播放的歌上一句下一句當(dāng)前行歌詞的行內(nèi)播放進(jìn)度,浮點(diǎn)數(shù)歌曲長(zhǎng)歌曲當(dāng)前播放位置,單位ms音樂(lè)播放時(shí)間<DateTimex="-505"y="1575"alignV="center"color="#ffffff"<DateTimex="430"y="1575"alignV="center"color="#ffffff"音樂(lè)控制代<MusicControlname="music_control"x=""<Image<Text<Button<Button<Button<Button例子:雙擊控制音樂(lè)控制顯示隱<Buttonx="178"y="529"w="126" <Triggeraction="double"target="music_control" <Triggeraction="double"target="music_control"<MusicControlx="0"y="300"name="music_control"<Imagename="music_album_cover"x="240"y="40"alpha="150"alignV="center"<Imagesrc="music_bg.png"x="40"y="0"alpha="100"<!--TextmarqueeSpeed,在文字超過(guò)寬度的時(shí)候<Textname="music_display"x="240"y="10"w="300"size="24"color="#FFFFFF"alpha="150"<Buttonname="music_prev"x="40"y="40"w="108" <Imagesrc="music_previous_n.png"x="40"y="40" <Imagesrc="music_previous_p.png"x="40"y="40" <Buttonname="music_next"x="332"y="40"w="108" <Imagesrc="music_next_n.png"x="332"y="40" <Imagesrc="music_next_p.png"x="332"y="40" <Buttonname="music_play"x="186"y="40"w="108" <Imagesrc="music_play_n.png"x="186"y="40" <Imagesrc="music_play_p.png"x="186"y="40" <Buttonname="music_pause"x="186"y="40"w="108" <Imagesrc="music_pause_n.png"x="186"y="40" <Imagesrc="music_pause_p.png"x="186"y="40" ??????????????volume_level現(xiàn)在 ??????????????volume_level現(xiàn)在音volume_level_old調(diào)節(jié)之前的音量1-15根據(jù)二者比較判斷是增大還是減通話系統(tǒng)電話鈴聲,短信鈴音樂(lè)播鬧鐘通知連接藍(lán)牙時(shí)的通話在某些國(guó)家強(qiáng)制的系統(tǒng)音DTMF音TTS音FM音一般鎖屏下只能調(diào)3(音量播放器音量表示正在調(diào)節(jié)音量,調(diào)節(jié)完畢后值為-可根據(jù)這個(gè)顯示或隱藏音量Contentcontentprovider支持where的格式where=""whereFormat=""content ContentProviderBinder查詢的參name2查詢結(jié)束后會(huì)name1的查詢,name1的查詢可以使用name2的變量。并且如果name2數(shù)據(jù)發(fā)變化重新查詢后,會(huì)觸發(fā)name1的重新查詢contentprovider提供了查詢應(yīng)用程序信息的通用接口,定義了xml代碼來(lái)查詢contentprovider,并查provider。比可以顯示天氣信息,郵件,待辦事項(xiàng),便簽,等等,你也可以寫一個(gè)可以顯示天氣信息,郵件,待辦事項(xiàng),便簽,等等,你也可以寫一個(gè)應(yīng)用程序查詢?nèi)魏文阆胍男畔⒉ontentprovider來(lái)提供給鎖屏使<ContentProviderBinderuri="content://sample/test"curiFormat=""uriParas=""columns="col1,col2"where=""args=""order="" <Variablename="variable_name1"type="int"column="col1" <Variablename="variable_name2"type="string"column="col2"?? 定義各種變量綁定到的源,目前僅支持contentprovider。ContentProviderBinder:定義一個(gè)contentprovider源和綁定到它上面的變量uri:contentprovideruri,指定選用content????????uriFormat:如果uri需要添加變量,可以用格式化,需要和uriParas一起uriParas:同Textelement的格式columns:需要查詢的列名,用逗號(hào)分隔where:查詢條件,同SQLargs:"where"的參數(shù).order:排序條件SQL 將查詢結(jié)構(gòu)數(shù)量綁定到該變量Variable:定一個(gè)綁定?????name:變量type:contentprovider中的數(shù)據(jù)類string/double/float/int/longcolumn:變量綁定到的列的名稱.row:變量綁定到的行數(shù),默認(rèn)為 <Variablename="weather_id"type="int" <Variablename="weather_location"type="string" <Variablename="weather_temperature"type="int" <Textvisibility="#hasweather"x="240"y="60"w="360"size="24"color="#FFFFFF"alpha="200"align="center"format="%s %s%d℃"<Texther_highTemperature))"x="240"y="85"w="360"size="22"color="#FFFFFF"alpha="200"align="center"format="%d℃/%d℃"<TextighTemperature))"x="240"y="85"w="360"size="22"color="#FFFFFF"alpha="200"align="center"format="--℃/%d℃"<TexthighTemperature)"x="240"y="85"w="360"size="22"color="#FFFFFF"alpha="200"align="center"format="%d℃/--℃"<Imagesrc="weather.png"visibility="#hasweather"x="240" <Positionx="-10"y="0" <Positionx="10"y="0" <Positionx="0"y="0"天氣id列表???????weather_chance_of_rain=weather_chance_snow=weather_chance_storm=weather_clear=weather_cloudy=weather_flurries=weather_fog=weather_heavy_rain=weather_heavy_rain=weather_icy_sleet=weather_mist=weather_partly_cloudy=weather_rain=weather_snow_rain=weather_snow=weather_sunny=weather_thunderstorm=weather_unknown=weather_windy=???????????以上是查詢谷歌天氣然而我們一般都是用自帶的天氣應(yīng)用所以一般是下面的寫 <ContentProviderBinderuri="content://weather/weather"d,humidity,sunrise,sunset,weather_type,city_id"countName="hasWeather"> <Variablename="weather_wind"type="string"column="wind" <Variablename="weather_city"type="string"column="city_name" <Variablename="weather_type"type="int"column="weather_type" <Variablename="weather_location"type="string" <Variablename="weather_wind"type="string"column="wind" <Variablename="city_id"type="string"column="city_id" name="aqi"type="int"column="aqi"name="pm25"type="int"column="pm25"name="pm10"type="int"column="pm10"name="so2"type="int"column="so2"name="no2"type="int"name="aqi"type="int"column="aqi"name="pm25"type="int"column="pm25"name="pm10"type="int"column="pm10"name="so2"type="int"column="so2"name="no2"type="int"column="no2"<Varname="airqualityexpression="ifelse(ge(#aqi,0)*lt(#aqi,50),'優(yōu)',ge(#aqi,150)*lt(#aqi,200),'輕度污染',ge(#aqi,200)*lt(#aqi,300),'中度污',ge(#aqi,300)*le(#aqi,500),'重污染','爆表')"type="string"至于引用,大概是這<Textx="100"y="300"color="#000000"size="30"format="%s%s%squality"/>查詢MIUI便簽內(nèi)容,顯示第一條便簽內(nèi)容和修改時(shí)<ContentProviderBinderuri="content://notes/note"columns="modified_date,snippet"order="modified_dateDESC" <Variablename="note_date1"type="long"column="modified_date" <Variablename="note_snippet1"type="string"column="snippet"<DateTimex="300"y="50"color="#ffffffff"<Textx="5"y="180"w="450"color="#ffffffff"size="18"marqueeSpeed="60"查詢未接來(lái)電的參uricolumns=where="type=3AND通過(guò)<WebServiceBinder/>請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù),參/thread-608966-1-百變鎖屏支持查詢<Variablename="weather_city"<Variablename="weather_city"name:名稱,用來(lái)在系統(tǒng)中保存查詢結(jié)uri:webserviceapi地params:參數(shù),格式:"參數(shù)名1:1,參數(shù)名2:2,參數(shù)名3:updateInterval:查詢間隔,單位:updateIntervalFail:查詢失敗后的重試時(shí)間,單name:綁定參type:string參數(shù)的xpath:將返回xml結(jié)果中xpath指定的內(nèi)容綁定參數(shù)值是否在退出鎖屏后保存,下次進(jìn)入鎖屏?xí)r讀取出來(lái),避免重復(fù)聯(lián)網(wǎng)需要MIUIv42.6.8版接收廣播消息,屬于,此功能可以實(shí)現(xiàn)不同百變模塊之間的互可以取到廣播中攜帶的extra信息并更新到指定支持Trigger:接收到broadcast廣播,可更新變量,可觸發(fā)若干命<BroadcastBindername=""action=""<Variablename="variable_name1"type="int"extra="testNum"<Variablename="variable_name2"type="string"extra="testStr" <Commandtarget=""????extrabroadcast廣播extra名type例子<BroadcastBinder <Variablename="number"type="int"<BroadcastBinder <VariableCommandname="number"<BroadcastBinder <VariableCommandname="number" <Imagew="#screen_width"h="#screen_height"上面這段代碼位于百變壁紙模塊內(nèi),下面的代碼則是在鎖屏模塊中通過(guò) 觸發(fā)百變壁紙模塊中的相應(yīng)功<Buttonx="0"y="0"w="#screen_width" <Trigger <Buttonx="0"y="640"w="#screen_width" <Trigger maml模塊之間傳遞數(shù)據(jù)(較實(shí)用的功能)/thread-2750692-1-maml模塊之間傳遞這個(gè)功能較實(shí)用,可以在maml模塊間進(jìn)行數(shù)據(jù)傳遞,例如可以在沒(méi)有自定義功能的maml模塊(如自桌面、百變壁紙、圖標(biāo))同樣實(shí)現(xiàn)自定義。下面的例子是在鎖屏自定義百變壁紙的圖片、文字,這樣可以做配套的鎖屏壁紙、桌面壁紙這個(gè)還可以結(jié)合v6最新自定義圖片功能使用,可以實(shí)現(xiàn)其他maml模塊自定義圖片注意:設(shè)置后需要鎖屏再解鎖才能生效,另外不能混搭其他鎖<?xmlversion='1.0'encoding='utf-<Grouptext="設(shè)置桌面壁紙<NumberChoicetext="選擇桌面壁紙id="ch_wall<Itemvalue="0text="默認(rèn)壁紙<Itemvalue="1text=<Itemvalue="1text="1<Itemvalue="2text="2<Itemvalue="3text="3 text="設(shè)置相冊(cè)圖片(圖片過(guò)大會(huì)卡頓或不顯示<ImagePickertext="1summary=id="imgtx01<ImagePickertext="2summary=id="imgtx02<?xmlversion="1.0"encoding="utf-<Lockscreenversion="1"frameRate="30" <Trigger <Extraname="extra_ch_wall"type="int"expression="#ch_wall" <Extraname="extra_word1"type="string"expression="@word1" <Extraname="extra_word2"type="string"expression="@word2" <Extraname="extra_imgtx01"type="string" <Extraname="extra_imgtx02"type="string" <Wallpaperw="#screen_width"h="#screen_height"<Buttonw="#screen_width" <Trigger <Extraname="extra_ch_wall"type="int" <Extraname="extra_word1"type="string" <Extraname="extra_word2"type="string" <Extraname="extra_imgtx01" <Extra <Extraname="extra_imgtx01" <Extraname="extra_imgtx02" <ExternCommandcommand="unlock" 在需要接收信息的模塊中進(jìn)行數(shù)據(jù)綁定(以百變壁紙為例<?xmlversion="1.0"encoding="utf-<MiWallpaperversion="1"frameRate="1"width="1080" <Variablename="ch_wall"type="int"extra="extra_ch_wall" <Variablename="word1"type="string"extra="extra_word1" <Variablename="word2"type="string"extra="extra_word2" <Variablename="imgtx01"type="string"extra="extra_imgtx01" <Variablename="imgtx02"type="string"extra="extra_imgtx02"<Imagew="#screen_width"h="#screen_height"src="w.png"srcid="#ch_wall"<Imagex="100"y="100"w="200"h="200"src="@imgtx01"<Imagex="400"y="100"w="200"h="200"src="@imgtx02"<Textx="200"y="200"color="#ffffff"size="60"textExp="@word1"<Textx="200"y="300"color="#ffffff"size="60"textExp="@word2"Trigger&?基礎(chǔ)命令,可以通過(guò)對(duì)象名和對(duì)象的屬性來(lái)控制界面里的其他元素。通??刂频氖窃氐目梢?jiàn)性(visibility)動(dòng)畫播放(animation)<Commandtarget="iamge1.visibility"value="false"condition=""<Commandtarget="iamge1.animation"<Commandtarget="iamge1.visibility"value="false"condition=""<Commandtarget="iamge1.animation"value="play"condition=""iamge1是被控制對(duì)象的名字,“.”后面跟的是屬性(目前支持visibility和animation)控制可見(jiàn)性的時(shí)候,value里面寫true或者false,控制動(dòng)畫的時(shí)候,value寫play(目前不支持讓動(dòng)畫暫condition是條件判斷,支持表達(dá)式。當(dāng)condition里的條件判斷為真時(shí),執(zhí)行命令;為假時(shí),不執(zhí)是延遲,以毫秒記。讀取該命令后延遲一段時(shí)間再執(zhí)delayCondition是延時(shí)判斷,在delay的時(shí)間之后再進(jìn)行判斷例子<Buttonx="0"y="0"h="100"w="100" <Trigger //延時(shí)6000ms后,如果second<40,執(zhí) // ?變量命令,用來(lái)控制變量(Var)的值。包括name和expression兩個(gè)特殊屬性,condition、delaydelayCondition的用Command一//將屏幕的寬度值賦值 w,還有高,一半的寬,一半的高<Varname="w"expression="#screen_width"<Varname="h"expression="#screen_height"<Varname="sw"expression="#screen_width/2"<Varname="sh"expression="#screen_height/2"?聲音命令,可以用來(lái)播放音頻文<SoundCommandsound=""volume=""loop=""keepCur=""1.sound:聲音文件volume:聲音大小,0~1的一個(gè)浮loop:是否循環(huán)播放,true/falsevolume:聲音大小,0~1的一個(gè)浮loop:是否循環(huán)播放,true/false,默認(rèn)是播放此音頻時(shí),是否保持當(dāng)前正在播放的聲音,true/false,默認(rèn)注意:聲音文件的大小要求不超過(guò)500kB,時(shí)長(zhǎng)不超過(guò)10秒(10秒之后的聲音播放不出來(lái))例子//循環(huán)播放reached.mp3,同時(shí)不停掉正在播放的其他聲<SoundCommandsound="reached.mp3"volume="1"loop="true"keepCur="true"?通用命令,用來(lái)向外部程序發(fā)送目前可以使用的一種命令是解鎖命令(僅在鎖屏中有效<ExternCommand用這個(gè)命令可以實(shí)現(xiàn)解鎖操作,無(wú)需使用?與 相對(duì),是用來(lái)接收外部命令的命令,典型的用法:在鎖屏中,通常用來(lái)接收開(kāi)屏/關(guān)屏令,從而執(zhí)行一些命令;在桌面插件中,用來(lái)檢測(cè)切屏從而執(zhí)行命//resume表示開(kāi)屏?xí)r執(zhí)行的命令,pause表示關(guān)屏?xí)r執(zhí)行的<Trigger <Trigger 桌面插件切屏?xí)r使用的示<Trigger <Commandtarget="root.animation"<Trigger <Commandtarget="root.animation"用按鈕實(shí)現(xiàn)開(kāi)<Buttonx="10"y="10"w="100" <Trigger <Commandtarget="Wifi" <Trigger <Commandtarget="Wifi" <Imagex="10"y="10" <Imagex="10"y="10"藍(lán)牙value="on"<Commandtarget="Bluetooth"??數(shù)<Commandtarget="Data"<Commandtarget="Data"<Commandtarget="Data"?鈴音/靜音/震<!--value="normal,silent,vibrate"value="silent"value="normal" 以快速切換到需要的狀態(tài)-->三種狀態(tài)切<Commandtarget="RingMode"下面和上面同樣效<Commandtarget="RingMode"僅正常和靜<Commandtarget="RingMode"僅正常和震<Commandtarget="RingMode"僅切換到靜音,用其他button切換到其他狀<Commandtarget="RingMode"?USB<Commandtarget="UsbStorage"<Commandtarget="UsbStorage"<Commandtarget="UsbStorage"Wifi<Commandtarget="Wifi"?<Commandtarget="Wifi"?用滑動(dòng)方式實(shí)現(xiàn)開(kāi)<Slidername="switch_usb_mode"<StartPointx="0"y="0"w="100" <EndPointx="340"y="0"w="100" <Commandtarget="UsbStorage" <Path <Positionx="0"y="0" <Positionx="340"y="0" ???????狀態(tài)變量,僅在添加相應(yīng)command后才有#ring_mode:0silent,1vibrate,2#wifi_state:0disabled,1enabled,2problem,3#bluetooth_state:0off,1on,2#data_state:0off,1#usb_mode:0disconnected,1chargeonly,2storage,3intermediateTrigger的Command支持變量賦值<VariableCommandname="test"expression="#test+1"name:變量名,expression:賦值表TriggerCommand支持動(dòng)畫播放<Buttonx="0"y="#screenview_y"w="#screen_width"<Trigger <VariableCommandname="ani_begin_x_add" <VariableCommandname="ani_begin_x_dec" <VariableCommandname="ani_begin_x"i_begin_x_add),#gesture_offset)"/> <VariableCommandname="touch_x" <Var<AniFramevalue="#ani_begin_x"<AniFrame<Var<AniFramevalue="#ani_begin_x"<AniFramevalue="0"<AniFramevalue="0"?LoopCommand(循環(huán)計(jì)算<LoopCommandcount="15"indexName="line" <VariableCommandname="one"expression="(ge(int(#a_num/15)-(#line+1),0))*(#line+1)"condition="eq(#fx_y,-1)"/>?簡(jiǎn)單除了原來(lái)的frameRate屬性控制普通狀態(tài)下的幀率外,還支持分別設(shè)置充電、電量低、充滿電狀態(tài)下的幀率以方便的控制這些狀態(tài)下的幀率,達(dá)到省電的目標(biāo)。比如普通狀態(tài)下沒(méi)有動(dòng)畫,幀率可以設(shè)為0,充電狀態(tài)有動(dòng)畫,幀率可以設(shè)30,以顯示平滑的動(dòng)畫,這樣普通狀態(tài)下就可以非例如?高級(jí)為了在xml描述語(yǔ)言中根據(jù)時(shí)間線指定不同幀率,新增一種element,叫做FramerateController,此元素和他界面元素一樣可以被添加到各個(gè)容器中,此元素包含一個(gè)幀率控制時(shí)間線,指定在一定的時(shí)間使用一定的率<ControlPointtime="0"<ControlPointtime="1000"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論