MIUI论坛 下载APP

主题创意组

Rank: 6Rank: 6

积分
5369
机型
小米手机3-WCDMA/CDMA版
签到次数
108
MIUI版本
7.10.10
私信

MIUI 2000万小米手机2终身荣誉勋章MIUI三周年MIUI 100周

[制作教程] 百变锁屏制作小技巧合集--持续更新!10月11日更新

  [复制链接]
115022 230 |
2013-3-19 14:55 | 来自PC
| |
|
跳转
本帖最后由 天下1235 于 2014-10-11 21:54 编辑

MAML完整版在线wiki教程
http://wiki.dev.xiaomi.com/index.php?title=MAML%E6%95%99%E7%A8%8B
我们在编写锁屏时有很多小功能我们可能会经常用到,这里为大家总结一些,希望对大家有用
10月11日
①锁屏获取通知
    随着MIUI 6的到来,在锁屏上获取通知终于可以做了(比如大家最想要的微信、QQ的通知)。通过Provider来获取数据,和v5上的未读短信和未接来电类似。
  1. <ContentProviderBinder name="data"  uri="content://keyguard.notification/notifications" columns="icon,title,content,time,info,subtext,key" countName="hasnotifications" >
  2.         </ContentProviderBinder>
复制代码
icon:图标,blob.bitmap类型title:标题,string类型
content:内容string类型
time:时间string类型
info:是出现在时间下面的小字,有的通知会有string类型subtext:像一些有三行的通知会出现string类型
key:用来跳到对应app用的,int类型
详细请见:http://www.miui.com/thread-2037153-1-1.html

5月12日
①做圆周运动
  1. <Var name="r" expression="100"/>
  2. <Var name="a" expression="#screen_width/2"/>
  3. <Var name="b" expression="#screen_height/2"/>
  4. <Var name="pi" expression="3.1415926535898"/>
  5. <Var name="rotation">
  6.         <VariableAnimation>
  7.                 <AniFrame value="0" time="0"/>
  8.                 <AniFrame value="2*#pi" time="10000"/>
  9.         </VariableAnimation>
  10. </Var>
  11. <Circle x="#a" y="#b" r="#r"  strokeAlign="center"   strokeColor="#ffffff"  weight="5"  />
  12. <Image x="#a+#r*sin(#rotation)"  y="#b-#r*cos(#rotation)" align="center" alignV="center" src="progress.png" />
复制代码
效果如下:发光点会以10s为一个周期一直绕着白色的圆轨迹做圆周运动 1.png


5月9日
①未来几天天气查询(因为MIUI天气的改版,以前查询未来几天的天气的教程做个更新)首先得适配多语言环境
在lockscreen\advance\strings文件夹新建strings.xml     strings_zh_CN.xml   strings_zh_TW.xml
strings.xml中代码如下
  1. <strings>
  2.     <string name="Clear" value="Clear"/>
  3.     <string name="Cloudy" value="Cloudy"/>
  4.     <string name="Hazy" value="Hazy"/>
  5.     <string name="Foggy" value="Foggy"/>
  6.     <string name="Severe_rainstorm" value="Severe rainstorm"/>
  7.     <string name="Rainstorm" value="Rainstorm"/>
  8.     <string name="Very_heavy_rainfall" value="Very heavy rainfall"/>
  9.     <string name="Thunderstorm" value="Thunderstorm"/>
  10.     <string name="Shower" value="Shower"/>
  11.     <string name="Heavy_rainfall" value="Heavy rainfall"/>
  12.     <string name="Rain" value="Rain"/>
  13.     <string name="Drizzle" value="Drizzle"/>
  14.     <string name="Sleet" value="Sleet"/>
  15.     <string name="Snowstorm" value="Snowstorm"/>
  16.     <string name="Patches_of_snowfall" value="Patches of snowfall"/>
  17.     <string name="Heavy_snowfall" value="Heavy snowfall"/>
  18.     <string name="Snowfall" value="Snowfall"/>
  19.     <string name="Light_snowfall" value="Light snowfall"/>
  20.     <string name="Strong_sandstorm" value="Strong sandstorm"/>
  21.     <string name="Sandstorm" value="Sandstorm"/>
  22.     <string name="Light_sandstorm" value="Light sandstorm"/>
  23.     <string name="Sandstorm" value="Sandstorm"/>
  24.     <string name="Hail" value="Hail"/>
  25.     <string name="Floating_Dust" value="Floating Dust"/>
  26.     <string name="Haze" value="Haze"/>
  27.     <string name="language" value="en"/>
  28. </strings>
复制代码
strings_zh_CN.xml 中代码如下
  1. <strings>
  2.   <string name="Clear" value="晴"/>
  3.     <string name="Cloudy" value="多云"/>
  4.     <string name="Hazy" value="阴"/>
  5.     <string name="Foggy" value="雾"/>
  6.     <string name="Severe_rainstorm" value="特大暴雨"/>
  7.     <string name="Rainstorm" value="大暴雨"/>
  8.     <string name="Very_heavy_rainfall" value="暴雨"/>
  9.     <string name="Thunderstorm" value="雷阵雨"/>
  10.     <string name="Shower" value="阵雨"/>
  11.     <string name="Heavy_rainfall" value="大雨"/>
  12.     <string name="Rain" value="中雨"/>
  13.     <string name="Drizzle" value="小雨"/>
  14.     <string name="Sleet" value="雨夹雪"/>
  15.     <string name="Snowstorm" value="暴雪"/>
  16.     <string name="Patches_of_snowfall" value="阵雪"/>
  17.     <string name="Heavy_snowfall" value="大雪"/>
  18.     <string name="Snowfall" value="中雪"/>
  19.     <string name="Light_snowfall" value="小雪"/>
  20.     <string name="Strong_sandstorm" value="强沙尘暴"/>
  21.     <string name="Sandstorm" value="沙尘暴"/>
  22.     <string name="Light_sandstorm" value="沙尘"/>
  23.     <string name="Sandstorm" value="扬沙"/>
  24.     <string name="Hail" value="冰雹"/>
  25.     <string name="Floating_Dust" value="浮尘"/>
  26.     <string name="Haze" value="霾"/>
  27.         <string name="language" value="zh_CN"/>
  28. </strings>
复制代码
strings_zh_TW.xml中代码如下
  1. <strings>
  2.     <string name="Clear" value="晴"/>
  3.     <string name="Cloudy" value="多雲"/>
  4.     <string name="Hazy" value="陰"/>
  5.     <string name="Foggy" value="霧"/>
  6.     <string name="Severe_rainstorm" value="特大暴雨"/>
  7.     <string name="Rainstorm" value="大暴雨"/>
  8.     <string name="Very_heavy_rainfall" value="暴雨"/>
  9.     <string name="Thunderstorm" value="雷陣雨"/>
  10.     <string name="Shower" value="陣雨"/>
  11.     <string name="Heavy_rainfall" value="大雨"/>
  12.     <string name="Rain" value="中雨"/>
  13.     <string name="Drizzle" value="小雨"/>
  14.     <string name="Sleet" value="雨夾雪"/>
  15.     <string name="Snowstorm" value="暴雪"/>
  16.     <string name="Patches_of_snowfall" value="陣雪"/>
  17.     <string name="Heavy_snowfall" value="大雪"/>
  18.     <string name="Snowfall" value="中雪"/>
  19.     <string name="Light_snowfall" value="小雪"/>
  20.     <string name="Strong_sandstorm" value="強沙塵暴"/>
  21.     <string name="Sandstorm" value="沙塵暴"/>
  22.     <string name="Light_sandstorm" value="沙塵"/>
  23.     <string name="Sandstorm" value="揚沙"/>
  24.     <string name="Hail" value="冰雹"/>
  25.     <string name="Floating_Dust" value="浮塵"/>
  26.     <string name="Haze" value="霾"/>
  27.         <string name="language" value="zh_TW"/>
  28. </strings>
复制代码
manifest.xml中添加content privider查询和相关代码如下
  1. <VariableBinders>
  2.                 <!-- 天气 -->
  3.                 <ContentProviderBinder name="weather" uri="content://weather/weather" columns="city_id">
  4.                         <Variable name="city_id" type="string" column="city_id"/>
  5.                 </ContentProviderBinder>
  6.                 <ContentProviderBinder dependency="weather" uriFormat="content://weather/daily_weather/%s" uriParas="@city_id" columns="city_name,publish_time,temperature,temperature_range,description,wind,humidity,weather_type,weathernamesfrom,weathernamesto" countName="hasweather">
  7.                         <!-- 今天(实时) -->
  8.                         <Variable name="weather_humidity" type="string" column="humidity"/>
  9.                         <Variable name="weather_location" type="string" column="city_name" row="0"/>
  10.                         <Variable name="weather_temperature" type="int" column="temperature" row="0"/>
  11.                         <Variable name="weather_temperature_range" type="string" column="temperature_range" row="0"/>
  12.                         <Variable name="weather_description" type="string" column="description" row="0"/>
  13.                         <Variable name="weather_wind" type="string" column="wind" row="0"/>
  14.                         <Variable name="weather_id" type="int" column="weather_type" row="0"/>
  15.                         <Variable name="weather_publish_time" type="long" column="publish_time" row="0"/>               
  16.                         <Variable name="weatherfrom_0" type="string" column="weathernamesfrom" row="0"/>
  17.                         <Variable name="weatherto_0" type="string" column="weathernamesto" row="0"/>
  18.                         <!-- 明天 -->                        
  19.                         <Variable name="weather_temperature_range1" type="string" column="temperature_range" row="1"/>
  20.                         <Variable name="weatherfrom_1" type="string" column="weathernamesfrom" row="1"/>
  21.                         <Variable name="weatherto_1" type="string" column="weathernamesto" row="1"/>
  22.                         <!-- 后天 -->
  23.                         <Variable name="weather_temperature_range2" type="string" column="temperature_range" row="2"/>
  24.                         <Variable name="weatherfrom_2" type="string" column="weathernamesfrom" row="2"/>
  25.                         <Variable name="weatherto_2" type="string" column="weathernamesto" row="2"/>
  26.                 </ContentProviderBinder>
  27.         </VariableBinders>
  28.         <!-- 明天天气类型 -->
  29.         <Var name="tomorrow_weather_description" expression="ifelse(eqs(@weatherfrom_1,@weatherto_1),@weatherfrom_1,@weatherfrom_1+'~'+@weatherto_1)" type="string" />
  30.         <!-- 后天天气类型 -->
  31.         <Var name="day_after_tomorrow__weather_description" expression="ifelse(eqs(@weatherfrom_2,@weatherto_2),@weatherfrom_2,@weatherfrom_2+'~'+@weatherto_2)" type="string" />
  32.         <Var name="weather_id1" expression="ifelse(eqs(@weatherfrom_1,@Clear),0,eqs(@weatherfrom_1,@Cloudy),1,eqs(@weatherfrom_1,@Hazy),2,eqs(@weatherfrom_1,@Foggy),3,eqs(@weatherfrom_1,@Severe_rainstorm),4,eqs(@weatherfrom_1,@Rainstorm),5,eqs(@weatherfrom_1,@Very_heavy_rainfall),6,eqs(@weatherfrom_1,@Thunderstorm),7,eqs(@weatherfrom_1,@Shower),8,eqs(@weatherfrom_1,@Heavy_rainfall),9,eqs(@weatherfrom_1,@Rain),10,eqs(@weatherfrom_1,@Drizzle),11,eqs(@weatherfrom_1,@Sleet),12,eqs(@weatherfrom_1,@Snowstorm),13,eqs(@weatherfrom_1,@Patches_of_snowfall),14,eqs(@weatherfrom_1,@Heavy_snowfall),15,eqs(@weatherfrom_1,@Snowfall),16,eqs(@weatherfrom_1,@Light_snowfall),17,eqs(@weatherfrom_1,@Strong_sandstorm),18,eqs(@weatherfrom_1,@Sandstorm),19,eqs(@weatherfrom_1,@Light_sandstorm),20,eqs(@weatherfrom_1,@Sandstorm),21,eqs(@weatherfrom_1,@Hail),22,eqs(@weatherfrom_1,@Floating_Dust),23,eqs(@weatherfrom_1,@Haze),24,0)" />
  33.         <Var name="weather_id2" expression="ifelse(eqs(@weatherfrom_2,@Clear),0,eqs(@weatherfrom_2,@Cloudy),1,eqs(@weatherfrom_2,@Hazy),2,eqs(@weatherfrom_2,@Foggy),3,eqs(@weatherfrom_2,@Severe_rainstorm),4,eqs(@weatherfrom_2,@Rainstorm),5,eqs(@weatherfrom_2,@Very_heavy_rainfall),6,eqs(@weatherfrom_2,@Thunderstorm),7,eqs(@weatherfrom_2,@Shower),8,eqs(@weatherfrom_2,@Heavy_rainfall),9,eqs(@weatherfrom_2,@Rain),10,eqs(@weatherfrom_2,@Drizzle),11,eqs(@weatherfrom_2,@Sleet),12,eqs(@weatherfrom_2,@Snowstorm),13,eqs(@weatherfrom_2,@Patches_of_snowfall),14,eqs(@weatherfrom_2,@Heavy_snowfall),15,eqs(@weatherfrom_2,@Snowfall),16,eqs(@weatherfrom_2,@Light_snowfall),17,eqs(@weatherfrom_2,@Strong_sandstorm),18,eqs(@weatherfrom_2,@Sandstorm),19,eqs(@weatherfrom_2,@Light_sandstorm),20,eqs(@weatherfrom_2,@Sandstorm),21,eqs(@weatherfrom_2,@Hail),22,eqs(@weatherfrom_2,@Floating_Dust),23,eqs(@weatherfrom_2,@Haze),24,0)" />
  34.         <!-- 定义显示天气图标变量 -->
  35.         <!-- 今天 -->
  36.         <Var name="has_night_icon" expression="eq(#weather_id,0)+eq(#weather_id,1)"/>
  37.         <Var name="icon_suffix" expression="ifelse(#has_night_icon,'_'+not(ge(#hour24,6)*le(#hour24,17)),'')" type="string"/>
  38.         <!-- 明天 -->
  39.         <Var name="has_night_icon1" expression="eq(#weather_id1,0)+eq(#weather_id1,1)"/>
  40.         <Var name="icon_suffix1" expression="ifelse(#has_night_icon1,'_'+not(ge(#hour24,6)*le(#hour24,17)),'')" type="string"/>
  41.         <!-- 后天 -->
  42.         <Var name="has_night_icon2" expression="eq(#weather_id2,0)+eq(#weather_id2,1)"/>
  43.         <Var name="icon_suffix2" expression="ifelse(#has_night_icon2,'_'+not(ge(#hour24,6)*le(#hour24,17)),'')" type="string"/>
  44.         <Text x="#screen_width/2" y="#screen_height-877-310" align="center" text="最近三天天气预报" size="45" bold="true" color="#000000" alpha="110" />
  45.         <Text x="#screen_width/2" y="#screen_height-877-220" align="center" textExp="@weather_location+' '+#weather_temperature+'°C'" size="40" bold="true" color="#000000"  />
  46.         <!-- 今天 -->
  47.         <Group y="-10">
  48.                 <Image x="#screen_width/2-200" y="#screen_height-877-85" align="center" alignV="center" srcExp="'weather_large/weather_' + #weather_id + @icon_suffix + '.png'"/>
  49.                 <Text x="#screen_width/2-200" y="#screen_height-877-10" align="center" alignV="center" size="30" color="#000000"  format="%s" paras="@weather_temperature_range"/>
  50.                 <Text x="#screen_width/2+240" y="#screen_height-877-112" align="right"   size="35" bold="true" color="#000000"  format="%s" paras="@weather_description" w="375" marqueeSpeed="30" />
  51.             <DateTime x="#screen_width/2+240" y="#screen_height-877-52" align="right"  size="35"  color="#000000"  format="今天 MM.dd" />
  52.         </Group>
  53.         <!-- 明天 -->
  54.         <Group y="142">
  55.                 <Image x="#screen_width/2-200" y="#screen_height-877-85" align="center" alignV="center" srcExp="'weather_large/weather_' + #weather_id1 + @icon_suffix1 + '.png'"/>
  56.                 <Text x="#screen_width/2-200" y="#screen_height-877-10" align="center" alignV="center" size="30" color="#000000"  format="%s" paras="@weather_temperature_range1"/>
  57.                 <Text x="#screen_width/2+240" y="#screen_height-877-112" align="right"   size="35" bold="true" color="#000000"  format="%s" paras="@tomorrow_weather_description" w="375" marqueeSpeed="30" />
  58.                 <DateTime x="#screen_width/2+240" y="#screen_height-877-52" align="right"   size="35"  color="#000000" value="#time_sys+86400000*1"  format="明天 MM.dd" w="375" marqueeSpeed="30"  />
  59.         </Group>
  60.         <!-- 后天 -->
  61.         <Group y="294">
  62.                 <Image x="#screen_width/2-200" y="#screen_height-877-85" align="center" alignV="center" srcExp="'weather_large/weather_' + #weather_id2 + @icon_suffix2 + '.png'"/>
  63.                 <Text x="#screen_width/2-200" y="#screen_height-877-10" align="center" alignV="center" size="30" color="#000000"  format="%s" paras="@weather_temperature_range2"/>
  64.                 <Text x="#screen_width/2+240" y="#screen_height-877-112"  align="right"  size="35" bold="true" color="#000000"  format="%s" paras="@day_after_tomorrow__weather_description"/>
  65.                 <DateTime x="#screen_width/2+240" y="#screen_height-877-52"  align="right"  size="35"  color="#000000" value="#time_sys+86400000*2"  format="后天 MM.dd" />
  66.         </Group>
复制代码
最后效果图如下:
未标题-3.jpg






5月5日
①一些应用的Intent
不断有人在问某一个应用的Intent,现将一些应用的Intent分享给大家,如下,欢迎反馈。
  1. 便签       action="android.intent.action.MAIN" package="com.miui.notes" class="com.miui.notes.ui.NotesListActivity"
复制代码
  1. 新浪微博        action="android.intent.action.MAIN" package="com.sina.weibo" class="com.sina.weibo.SplashActivity"
复制代码
  1. 用户反馈        action="android.intent.action.MAIN" package="com.miui.bugreport" class="com.miui.bugreport.ui.TypeSelectionActivity"
复制代码
  1. 米聊2014        action="android.intent.action.MAIN" package="com.xiaomi.channel" class="com.xiaomi.channel.ui.ChannelLauncherActivity"
复制代码
  1. 手电筒          action="android.intent.action.MAIN" package="com.android.systemui" class="com.android.systemui.TorchActivity"
复制代码
  1. 文件管理        action="android.intent.action.MAIN" package="com.android.fileexplorer" class="com.android.fileexplorer.FileExplorerTabActivity"
复制代码
  1. 图库            action="android.intent.action.MAIN" package="com.miui.gallery" class="com.miui.gallery.app.Gallery"
复制代码
  1. 系统更新        action="android.intent.action.MAIN" package="com.android.updater" class="com.android.updater.MainActivity"
复制代码
  1. 浏览器          action="android.intent.action.MAIN" package="com.android.browser" class="com.android.browser.BrowserActivity"
复制代码
  1. 计算器          action="android.intent.action.MAIN" package="com.android.calculator2" class="com.android.calculator2.Calculator"
复制代码
  1. 短信            action="android.intent.action.MAIN" package="com.android.mms" class="com.android.mms.ui.MmsTabActivity"
复制代码
  1. 联系人          action="android.intent.action.MAIN" package="com.android.contacts" class="com.android.contacts.activities.PeopleActivity"
复制代码
  1. 拨号            action="android.intent.action.MAIN" package="com.android.contacts" class="com.android.contacts.activities.TwelveKeyDialer"
复制代码
  1. 米币中心        action="android.intent.action.MAIN" package="com.xiaomi.payment" class="com.xiaomi.payment.MiliCenterEntryActivity"
复制代码
  1. 百度地图        action="android.intent.action.MAIN" package="com.baidu.BaiduMap" class="com.baidu.baidumaps.WelcomeScreen"
复制代码
  1. 相机            action="android.intent.action.MAIN" package="com.android.camera" class="com.android.camera.Camera"
复制代码
  1. 视频            action="android.intent.action.MAIN" package="com.miui.video" class="com.miui.video.HomeActivity"
复制代码
  1. 主题风格        action="android.intent.action.MAIN" package="com.android.thememanager" class="com.android.thememanager.ThemeResourceTabActivity"
复制代码
  1. 密码保护        action="android.intent.action.MAIN" package="com.android.settings" class="com.android.settings.MiuiPasswordGuardActivity"
复制代码
  1. 游戏中心        action="android.intent.action.MAIN" package="com.xiaomi.gamecenter" class="com.xiaomi.gamecenter.ui.MainTabActivity"
复制代码
  1. 设置            action="android.intent.action.MAIN" package="com.android.settings" class="com.android.settings.MiuiSettings"
复制代码
  1. 日历            action="android.intent.action.MAIN" package="com.android.calendar" class="com.android.calendar.AllInOneActivity"
复制代码
  1. 应用商店        action="android.intent.action.MAIN" package="com.xiaomi.market" class="com.xiaomi.market.ui.MarketTabActivity"
复制代码
  1. 音乐            action="android.intent.action.MAIN" package="com.miui.player" class="com.miui.player.ui.MusicBrowserActivity"
复制代码
  1. 天气            action="android.intent.action.MAIN" package="com.miui.weather2" class="com.miui.weather2.ActivityWeatherCycle"
复制代码
  1. 语音助手        action="android.intent.action.MAIN" package="com.miui.voiceassist" class="com.miui.voiceassist.MiuiVoiceAssistActivity"
复制代码
  1. 时钟            action="android.intent.action.MAIN" package="com.android.deskclock" class="com.android.deskclock.DeskClockTabActivity"
复制代码
  1. 安全中心        action="android.intent.action.MAIN" package="com.android.settings" class="com.miui.securitycenter.Main"
复制代码
  1. 电子邮件        action="android.intent.action.MAIN" package="com.android.email" class="com.android.email.activity.Welcome"
复制代码
  1. 备份            action="android.intent.action.MAIN" package="com.miui.backup" class="com.miui.backup.BackupActivity"
复制代码
  1. 收音机          action="android.intent.action.MAIN" package="com.miui.fmradio" class="com.miui.fmradio.FmRadioActivity"
复制代码
  1. 下载管理        action="android.intent.action.MAIN" package="com.android.providers.downloads.ui" class="com.android.providers.downloads.ui.DownloadList"
复制代码

8月30日
①自定义锁屏快捷入口

我们的锁屏为了能让用户个性化定制自己想要的部分,我们往往会在锁屏中加入一系列自定义选项,但是这个功能隐藏的太深,可能不容易被发现,所以我们可以加入一个快捷的方法(从锁屏直接进入这里),代码如下:
  1. <Button x="0" y="0" w="720" h="1280" >
  2.                 <Triggers>
  3.                         <Trigger action="double">
  4.                                 <IntentCommand action="android.intent.action.MAIN" package="com.android.thememanager" class="com.android.thememanager.view.MamlConfigSettings">
  5.                                         <Extra name="maml_code" type="string" expression="'lockstyle'"/>
  6.                                 </IntentCommand>
  7.                                 <IntentCommand action="android.intent.action.MAIN" package="com.android.thememanager" class="miui.maml.MamlConfigSettings">
  8.                                         <Extra name="maml_code" type="string" expression="'lockstyle'"/>
  9.                                 </IntentCommand>
  10.                                 <Intent action="android.intent.action.MAIN" package="com.android.thememanager" class="com.android.thememanager.view.LockscreenConfigSettings"/>
  11.                                 <ExternCommand command="unlock"/>
  12.                         </Trigger>
  13.                 </Triggers>
  14.         </Button>
复制代码
8月5日
①用图片显示农历

由于新加了农历变量#year_lunar
#year_lunar1864  用来计算天干地支
#month_lunar  (from 1)
#month_lunar_leap  0/1 是否润月
#date_lunar (from 1)
因此我们现在可以很方便的实现用图片来显示农历了,效果图如下:


我们需要做的是首先把需要的图画好并命名好,如下所示:


最后就是代码的编写了,如下:
  1. <Var name="Lunar_width" expression="#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width+#d_chu_lunar.bmp_width+#d_chu_num_lunar.bmp_width+#d_lunar1.bmp_width+#d_lunar2.bmp_width+#d20_lunar1.bmp_width+#d20_lunar2.bmp_width+#d_lunar3.bmp_width+#d_lunar4.bmp_width+#d30_lunar1.bmp_width+#d30_lunar2.bmp_width"/>
  2. <Group y="385">
  3.         <Image name="Lunar_calendar"  x="#screen_width/2-#Lunar_width/2"  src="Lunar_calendar.png" alignV="center"/>
  4.         <!-- 月 -->
  5.    <Image name="m_lunar1"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width"  src="zheng.png" alignV="center" visibility="eq(#month_lunar,1)" />                        
  6.    <Image name="m_lunar2"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width"  src="lunar.png" srcid="#month_lunar" alignV="center" visibility="ge(#month_lunar,2)*le(#month_lunar,10)" />
  7.         <Image name="m11_lunar1"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width"  src="lunar.png" srcid="10" alignV="center" visibility="eq(#month_lunar,11)" />
  8.         <Image name="m11_lunar2"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m11_lunar1.bmp_width"  src="lunar.png" srcid="1" alignV="center" visibility="eq(#month_lunar,11)" />
  9.         <Image name="m_lunar3"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width"    src="la.png"  alignV="center" visibility="eq(#month_lunar,12)" />
  10.         <Image name="yue"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width"    src="yue.png"  alignV="center" />
  11.         <!-- 日 -->
  12.         <Image name="d_chu_lunar"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width"    src="chu.png"  alignV="center" visibility="ge(#date_lunar,1)*le(#date_lunar,10)" />
  13.          <Image name="d_chu_num_lunar"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width+#d_chu_lunar.bmp_width"    src="lunar.png"  srcid="#date_lunar" alignV="center" visibility="ge(#date_lunar,1)*le(#date_lunar,10)" />
  14.         <Image name="d_lunar1"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width"    src="lunar_10.png"  alignV="center" visibility="ge(#date_lunar,11)*le(#date_lunar,19)" />        
  15.         <Image name="d_lunar2"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width+#d_lunar1.bmp_width"    src="lunar.png" srcid="#date_lunar%10"  alignV="center" visibility="ge(#date_lunar,11)*le(#date_lunar,19)" />        
  16.          <Image name="d20_lunar1"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width"    src="lunar_2.png"  alignV="center" visibility="eq(#date_lunar,20)" />
  17.         <Image name="d20_lunar2"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width+#d20_lunar1.bmp_width"    src="lunar_10.png"  alignV="center" visibility="eq(#date_lunar,20)" />
  18.         <Image name="d_lunar3"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width"    src="lunar_20.png"  alignV="center" visibility="ge(#date_lunar,21)*le(#date_lunar,29)" />
  19.         <Image name="d_lunar4"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width+#d_lunar3.bmp_width"    src="lunar.png" srcid="#date_lunar%10"  alignV="center" visibility="ge(#date_lunar,21)*le(#date_lunar,29)" />
  20.         <Image name="d30_lunar1"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width"    src="lunar_3.png"  alignV="center" visibility="eq(#date_lunar,30)" />
  21.         <Image name="d30_lunar2"  x="#screen_width/2-#Lunar_width/2+#Lunar_calendar.bmp_width+#m_lunar1.bmp_width+#m_lunar2.bmp_width+#m_lunar3.bmp_width+#m11_lunar1.bmp_width+#m11_lunar2.bmp_width+#yue.bmp_width+#d30_lunar1.bmp_width"    src="lunar_10.png"  alignV="center" visibility="eq(#date_lunar,30)" />
  22. </Group>
复制代码
8月2日
①锁屏实现解锁命令
可以实现解锁功能,用法如下:
  1. <ExternCommand command="unlock"/>
复制代码
4月16日:

①Group 支持对齐方式
    锁屏可实现Group支持对齐方式,需要手动添加当前Group的宽w和高h
实例 :
  1. <Group   w="100"  h="200"  align="center"  alignV="center" >
  2.        <Image x="0" y="#screen_height-335"   src="bottom_bg.png" />
  3.        <Image x="0" y="#screen_height-335"   src="bottom_bg_heightlight.png"/>
  4. </Group>        
复制代码
3月22日:
①天气查询空气质量指数
    锁屏可实现空气质量的查询,详见下面这个链接
    http://www.miui.com/thread-1069950-1-1.html

②用图片显示数字
   可以通过ImageNumber实现用图片显示数字,ImageNumber 支持对齐,动画,遮罩跟Image一样,不再赘述。
   实例:(首先要有0-9的切图,命名方式和time相同)(设今天的日期是2013年3月22日)
  1. <ImageNumber  x="0" y="10"  align="center"  number="#year*10000+(#month+1)*100+#date" src="time.png"/>
复制代码
上述在手机上显示的结果是用time的图显示的20130322

3月21日:
①取字符串的子串
substr(原字符串,字串开始位置,字串长度)
   实例:设有一个字符串:MIUI为发烧而生123
           那么:len('MIUI为发烧而生123' )=12      判断一个字符串的长度
                     substr( 'MIUI为发烧而生123',0,9)=MIUI为发烧而生
                     substr( 'MIUI为发烧而生123',4,7)= 为发烧而生12

②实现晚上和白天的变化
效果图
  
首先我们确定几个时间点6点,18点,0点
通过当前时间和这几个时间点的比较我们可以写一个visibility来控制显示与否
具体代码如下
  1. <!-- 白天 -->
  2.      <Group x=" " y=" " visibility="ge(#hour24,6)*le(#hour24,17)">
  3.                 内容
  4.      </Group>
  5. <!-- 晚上 -->
  6.      <Group x=" " y=" " visibility="ge(#hour24,18)*le(#hour24,23)+ge(#hour24,0)*le(#hour24,5)">
  7.                 内容
  8.      </Group>
复制代码
同理我们可以在不同的时间段显示不同的东西,就留给大家去研究吧

3月20日:
①显示日历
效果图如下

这个功能比较高级,代码也比较复杂,我放出来大家研究研究,可以直接复制代码,因为基本没有什么需要改动的,比较死的代码

定义离屏幕边缘的距离和日期的宽度和高度
  1. <Var name="grid_x" expression="80" const="true"/>
  2. <Var name="grid_y" expression="95" const="true"/>
  3. <Var name="grid_w" expression="45" const="true"/>
  4. <Var name="grid_h" expression="42" const="true"/>
复制代码
为了节省资源,我们定义一个变量触发更新
  1. <!--年份、月份变量触发更新命令-->
  2.         <Var name="yearmonth" expression="#year*100+#month">
  3.              <Trigger>
  4.          <!-- 如果要求周六周日是一周的最后两天——显示此行并将下一行的#day_of_week改为#day_of_week1,否则周日为一周的第一天,周六为一周最后一天 -->
  5.                         <VariableCommand name="day_of_week1" expression="ifelse(le(#day_of_week-1,0),7,#day_of_week-1))"/>
  6.                         <VariableCommand name="day1_week" expression="#day_of_week1+(1-#date)%7"/>
  7.                         <VariableCommand name="day1_week" expression="ifelse(le(#day1_week,0),7+#day1_week,#day1_week)"/>
  8.                         <!--第n号的位置-->
  9.                         <VariableCommand name="x1" expression="#grid_x+(#day1_week+1+5)%7*#grid_w"/>
  10.                         <VariableCommand name="y1" expression="#grid_y+int((1+#day1_week-1.1)/7)*#grid_h"/>
  11.                         <VariableCommand name="x2" expression="#grid_x+(#day1_week+2+5)%7*#grid_w"/>
  12.                         <VariableCommand name="y2" expression="#grid_y+int((2+#day1_week-1.1)/7)*#grid_h"/>
  13.                         <VariableCommand name="x3" expression="#grid_x+(#day1_week+3+5)%7*#grid_w"/>
  14.                         <VariableCommand name="y3" expression="#grid_y+int((3+#day1_week-1.1)/7)*#grid_h"/>
  15.                         <VariableCommand name="x4" expression="#grid_x+(#day1_week+4+5)%7*#grid_w"/>
  16.                         <VariableCommand name="y4" expression="#grid_y+int((4+#day1_week-1.1)/7)*#grid_h"/>
  17.                         <VariableCommand name="x5" expression="#grid_x+(#day1_week+5+5)%7*#grid_w"/>
  18.                         <VariableCommand name="y5" expression="#grid_y+int((5+#day1_week-1.1)/7)*#grid_h"/>
  19.                         <VariableCommand name="x6" expression="#grid_x+(#day1_week+6+5)%7*#grid_w"/>
  20.                         <VariableCommand name="y6" expression="#grid_y+int((6+#day1_week-1.1)/7)*#grid_h"/>
  21.                         <VariableCommand name="x7" expression="#grid_x+(#day1_week+7+5)%7*#grid_w"/>
  22.                         <VariableCommand name="y7" expression="#grid_y+int((7+#day1_week-1.1)/7)*#grid_h"/>
  23.                         <VariableCommand name="x8" expression="#grid_x+(#day1_week+8+5)%7*#grid_w"/>
  24.                         <VariableCommand name="y8" expression="#grid_y+int((8+#day1_week-1.1)/7)*#grid_h"/>
  25.                         <VariableCommand name="x9" expression="#grid_x+(#day1_week+9+5)%7*#grid_w"/>
  26.                         <VariableCommand name="y9" expression="#grid_y+int((9+#day1_week-1.1)/7)*#grid_h"/>
  27.                         <VariableCommand name="x10" expression="#grid_x+(#day1_week+10+5)%7*#grid_w"/>
  28.                         <VariableCommand name="y10" expression="#grid_y+int((10+#day1_week-1.1)/7)*#grid_h"/>
  29.                         <VariableCommand name="x11" expression="#grid_x+(#day1_week+11+5)%7*#grid_w"/>
  30.                         <VariableCommand name="y11" expression="#grid_y+int((11+#day1_week-1.1)/7)*#grid_h"/>
  31.                         <VariableCommand name="x12" expression="#grid_x+(#day1_week+12+5)%7*#grid_w"/>
  32.                         <VariableCommand name="y12" expression="#grid_y+int((12+#day1_week-1.1)/7)*#grid_h"/>
  33.                         <VariableCommand name="x13" expression="#grid_x+(#day1_week+13+5)%7*#grid_w"/>
  34.                         <VariableCommand name="y13" expression="#grid_y+int((13+#day1_week-1.1)/7)*#grid_h"/>
  35.                         <VariableCommand name="x14" expression="#grid_x+(#day1_week+14+5)%7*#grid_w"/>
  36.                         <VariableCommand name="y14" expression="#grid_y+int((14+#day1_week-1.1)/7)*#grid_h"/>
  37.                         <VariableCommand name="x15" expression="#grid_x+(#day1_week+15+5)%7*#grid_w"/>
  38.                         <VariableCommand name="y15" expression="#grid_y+int((15+#day1_week-1.1)/7)*#grid_h"/>
  39.                         <VariableCommand name="x16" expression="#grid_x+(#day1_week+16+5)%7*#grid_w"/>
  40.                         <VariableCommand name="y16" expression="#grid_y+int((16+#day1_week-1.1)/7)*#grid_h"/>
  41.                         <VariableCommand name="x17" expression="#grid_x+(#day1_week+17+5)%7*#grid_w"/>
  42.                         <VariableCommand name="y17" expression="#grid_y+int((17+#day1_week-1.1)/7)*#grid_h"/>
  43.                         <VariableCommand name="x18" expression="#grid_x+(#day1_week+18+5)%7*#grid_w"/>
  44.                         <VariableCommand name="y18" expression="#grid_y+int((18+#day1_week-1.1)/7)*#grid_h"/>
  45.                         <VariableCommand name="x19" expression="#grid_x+(#day1_week+19+5)%7*#grid_w"/>
  46.                         <VariableCommand name="y19" expression="#grid_y+int((19+#day1_week-1.1)/7)*#grid_h"/>
  47.                         <VariableCommand name="x20" expression="#grid_x+(#day1_week+20+5)%7*#grid_w"/>
  48.                         <VariableCommand name="y20" expression="#grid_y+int((20+#day1_week-1.1)/7)*#grid_h"/>
  49.                         <VariableCommand name="x21" expression="#grid_x+(#day1_week+21+5)%7*#grid_w"/>
  50.                         <VariableCommand name="y21" expression="#grid_y+int((21+#day1_week-1.1)/7)*#grid_h"/>
  51.                         <VariableCommand name="x22" expression="#grid_x+(#day1_week+22+5)%7*#grid_w"/>
  52.                         <VariableCommand name="y22" expression="#grid_y+int((22+#day1_week-1.1)/7)*#grid_h"/>
  53.                         <VariableCommand name="x23" expression="#grid_x+(#day1_week+23+5)%7*#grid_w"/>
  54.                         <VariableCommand name="y23" expression="#grid_y+int((23+#day1_week-1.1)/7)*#grid_h"/>
  55.                         <VariableCommand name="x24" expression="#grid_x+(#day1_week+24+5)%7*#grid_w"/>
  56.                         <VariableCommand name="y24" expression="#grid_y+int((24+#day1_week-1.1)/7)*#grid_h"/>
  57.                         <VariableCommand name="x25" expression="#grid_x+(#day1_week+25+5)%7*#grid_w"/>
  58.                         <VariableCommand name="y25" expression="#grid_y+int((25+#day1_week-1.1)/7)*#grid_h"/>
  59.                         <VariableCommand name="x26" expression="#grid_x+(#day1_week+26+5)%7*#grid_w"/>
  60.                         <VariableCommand name="y26" expression="#grid_y+int((26+#day1_week-1.1)/7)*#grid_h"/>
  61.                         <VariableCommand name="x27" expression="#grid_x+(#day1_week+27+5)%7*#grid_w"/>
  62.                         <VariableCommand name="y27" expression="#grid_y+int((27+#day1_week-1.1)/7)*#grid_h"/>
  63.                         <VariableCommand name="x28" expression="#grid_x+(#day1_week+28+5)%7*#grid_w"/>
  64.                         <VariableCommand name="y28" expression="#grid_y+int((28+#day1_week-1.1)/7)*#grid_h"/>
  65.                         <VariableCommand name="x29" expression="#grid_x+(#day1_week+29+5)%7*#grid_w"/>
  66.                         <VariableCommand name="y29" expression="#grid_y+int((29+#day1_week-1.1)/7)*#grid_h"/>
  67.                         <VariableCommand name="x30" expression="#grid_x+(#day1_week+30+5)%7*#grid_w"/>
  68.                         <VariableCommand name="y30" expression="#grid_y+int((30+#day1_week-1.1)/7)*#grid_h"/>
  69.                         <VariableCommand name="x31" expression="#grid_x+(#day1_week+31+5)%7*#grid_w"/>
  70.                         <VariableCommand name="y31" expression="#grid_y+int((31+#day1_week-1.1)/7)*#grid_h"/>
  71.                         <!-- 每一天字体颜色 -->
  72.                         <Var name="color1" type="string" expression="ifelse(ge(((#day1_week+1+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  73.                         <Var name="color2" type="string" expression="ifelse(ge(((#day1_week+2+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  74.                         <Var name="color3" type="string" expression="ifelse(ge(((#day1_week+3+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  75.                         <Var name="color4" type="string" expression="ifelse(ge(((#day1_week+4+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  76.                         <Var name="color5" type="string" expression="ifelse(ge(((#day1_week+5+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  77.                         <Var name="color6" type="string" expression="ifelse(ge(((#day1_week+6+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  78.                         <Var name="color7" type="string" expression="ifelse(ge(((#day1_week+7+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  79.                         <Var name="color8" type="string" expression="ifelse(ge(((#day1_week+8+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  80.                         <Var name="color9" type="string" expression="ifelse(ge(((#day1_week+9+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  81.                         <Var name="color10" type="string" expression="ifelse(ge(((#day1_week+10+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  82.                         <Var name="color11" type="string" expression="ifelse(ge(((#day1_week+11+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  83.                         <Var name="color12" type="string" expression="ifelse(ge(((#day1_week+12+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  84.                         <Var name="color13" type="string" expression="ifelse(ge(((#day1_week+13+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  85.                         <Var name="color14" type="string" expression="ifelse(ge(((#day1_week+14+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  86.                         <Var name="color15" type="string" expression="ifelse(ge(((#day1_week+15+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  87.                         <Var name="color16" type="string" expression="ifelse(ge(((#day1_week+16+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  88.                         <Var name="color17" type="string" expression="ifelse(ge(((#day1_week+17+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  89.                         <Var name="color18" type="string" expression="ifelse(ge(((#day1_week+18+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  90.                         <Var name="color19" type="string" expression="ifelse(ge(((#day1_week+19+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  91.                         <Var name="color20" type="string" expression="ifelse(ge(((#day1_week+20+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  92.                         <Var name="color21" type="string" expression="ifelse(ge(((#day1_week+21+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  93.                         <Var name="color22" type="string" expression="ifelse(ge(((#day1_week+22+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  94.                         <Var name="color23" type="string" expression="ifelse(ge(((#day1_week+23+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  95.                         <Var name="color24" type="string" expression="ifelse(ge(((#day1_week+24+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  96.                         <Var name="color25" type="string" expression="ifelse(ge(((#day1_week+25+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  97.                         <Var name="color26" type="string" expression="ifelse(ge(((#day1_week+26+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  98.                         <Var name="color27" type="string" expression="ifelse(ge(((#day1_week+27+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  99.                         <Var name="color28" type="string" expression="ifelse(ge(((#day1_week+28+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  100.                         <Var name="color29" type="string" expression="ifelse(ge(((#day1_week+29+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  101.                         <Var name="color30" type="string" expression="ifelse(ge(((#day1_week+30+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  102.                         <Var name="color31" type="string" expression="ifelse(ge(((#day1_week+31+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  103.                 </Trigger>
  104.         </Var>
复制代码
计算出一个月的第一天是星期几
  1. <!-- 如果要求周六周日是一周的最后两天——显示此行并将下一行的#day_of_week改为#day_of_week1,否则周日为一周的第一天,周六为一周最后一天 -->
  2. <Var name="day_of_week1" expression="ifelse(le(#day_of_week-1,0),7,#day_of_week-1))"/>
  3. <Var name="day1_week" expression="#day_of_week1+(1-#date)%7"/>
  4. <Var name="day1_week" expression="ifelse(le(#day1_week,0),7+#day1_week,#day1_week)"/>
复制代码
第n号的位置
  1. <!--第n号的位置-->
  2.         <Var name="x1" expression="#grid_x+(#day1_week+1+5)%7*#grid_w"/>
  3.         <Var name="y1" expression="#grid_y+int((1+#day1_week-1.1)/7)*#grid_h"/>
  4.         <Var name="x2" expression="#grid_x+(#day1_week+2+5)%7*#grid_w"/>
  5.         <Var name="y2" expression="#grid_y+int((2+#day1_week-1.1)/7)*#grid_h"/>
  6.         <Var name="x3" expression="#grid_x+(#day1_week+3+5)%7*#grid_w"/>
  7.         <Var name="y3" expression="#grid_y+int((3+#day1_week-1.1)/7)*#grid_h"/>
  8.         <Var name="x4" expression="#grid_x+(#day1_week+4+5)%7*#grid_w"/>
  9.         <Var name="y4" expression="#grid_y+int((4+#day1_week-1.1)/7)*#grid_h"/>
  10.         <Var name="x5" expression="#grid_x+(#day1_week+5+5)%7*#grid_w"/>
  11.         <Var name="y5" expression="#grid_y+int((5+#day1_week-1.1)/7)*#grid_h"/>
  12.         <Var name="x6" expression="#grid_x+(#day1_week+6+5)%7*#grid_w"/>
  13.         <Var name="y6" expression="#grid_y+int((6+#day1_week-1.1)/7)*#grid_h"/>
  14.         <Var name="x7" expression="#grid_x+(#day1_week+7+5)%7*#grid_w"/>
  15.         <Var name="y7" expression="#grid_y+int((7+#day1_week-1.1)/7)*#grid_h"/>
  16.         <Var name="x8" expression="#grid_x+(#day1_week+8+5)%7*#grid_w"/>
  17.         <Var name="y8" expression="#grid_y+int((8+#day1_week-1.1)/7)*#grid_h"/>
  18.         <Var name="x9" expression="#grid_x+(#day1_week+9+5)%7*#grid_w"/>
  19.         <Var name="y9" expression="#grid_y+int((9+#day1_week-1.1)/7)*#grid_h"/>
  20.         <Var name="x10" expression="#grid_x+(#day1_week+10+5)%7*#grid_w"/>
  21.         <Var name="y10" expression="#grid_y+int((10+#day1_week-1.1)/7)*#grid_h"/>
  22.         <Var name="x11" expression="#grid_x+(#day1_week+11+5)%7*#grid_w"/>
  23.         <Var name="y11" expression="#grid_y+int((11+#day1_week-1.1)/7)*#grid_h"/>
  24.         <Var name="x12" expression="#grid_x+(#day1_week+12+5)%7*#grid_w"/>
  25.         <Var name="y12" expression="#grid_y+int((12+#day1_week-1.1)/7)*#grid_h"/>
  26.         <Var name="x13" expression="#grid_x+(#day1_week+13+5)%7*#grid_w"/>
  27.         <Var name="y13" expression="#grid_y+int((13+#day1_week-1.1)/7)*#grid_h"/>
  28.         <Var name="x14" expression="#grid_x+(#day1_week+14+5)%7*#grid_w"/>
  29.         <Var name="y14" expression="#grid_y+int((14+#day1_week-1.1)/7)*#grid_h"/>
  30.         <Var name="x15" expression="#grid_x+(#day1_week+15+5)%7*#grid_w"/>
  31.         <Var name="y15" expression="#grid_y+int((15+#day1_week-1.1)/7)*#grid_h"/>
  32.         <Var name="x16" expression="#grid_x+(#day1_week+16+5)%7*#grid_w"/>
  33.         <Var name="y16" expression="#grid_y+int((16+#day1_week-1.1)/7)*#grid_h"/>
  34.         <Var name="x17" expression="#grid_x+(#day1_week+17+5)%7*#grid_w"/>
  35.         <Var name="y17" expression="#grid_y+int((17+#day1_week-1.1)/7)*#grid_h"/>
  36.         <Var name="x18" expression="#grid_x+(#day1_week+18+5)%7*#grid_w"/>
  37.         <Var name="y18" expression="#grid_y+int((18+#day1_week-1.1)/7)*#grid_h"/>
  38.         <Var name="x19" expression="#grid_x+(#day1_week+19+5)%7*#grid_w"/>
  39.         <Var name="y19" expression="#grid_y+int((19+#day1_week-1.1)/7)*#grid_h"/>
  40.         <Var name="x20" expression="#grid_x+(#day1_week+20+5)%7*#grid_w"/>
  41.         <Var name="y20" expression="#grid_y+int((20+#day1_week-1.1)/7)*#grid_h"/>
  42.         <Var name="x21" expression="#grid_x+(#day1_week+21+5)%7*#grid_w"/>
  43.         <Var name="y21" expression="#grid_y+int((21+#day1_week-1.1)/7)*#grid_h"/>
  44.         <Var name="x22" expression="#grid_x+(#day1_week+22+5)%7*#grid_w"/>
  45.         <Var name="y22" expression="#grid_y+int((22+#day1_week-1.1)/7)*#grid_h"/>
  46.         <Var name="x23" expression="#grid_x+(#day1_week+23+5)%7*#grid_w"/>
  47.         <Var name="y23" expression="#grid_y+int((23+#day1_week-1.1)/7)*#grid_h"/>
  48.         <Var name="x24" expression="#grid_x+(#day1_week+24+5)%7*#grid_w"/>
  49.         <Var name="y24" expression="#grid_y+int((24+#day1_week-1.1)/7)*#grid_h"/>
  50.         <Var name="x25" expression="#grid_x+(#day1_week+25+5)%7*#grid_w"/>
  51.         <Var name="y25" expression="#grid_y+int((25+#day1_week-1.1)/7)*#grid_h"/>
  52.         <Var name="x26" expression="#grid_x+(#day1_week+26+5)%7*#grid_w"/>
  53.         <Var name="y26" expression="#grid_y+int((26+#day1_week-1.1)/7)*#grid_h"/>
  54.         <Var name="x27" expression="#grid_x+(#day1_week+27+5)%7*#grid_w"/>
  55.         <Var name="y27" expression="#grid_y+int((27+#day1_week-1.1)/7)*#grid_h"/>
  56.         <Var name="x28" expression="#grid_x+(#day1_week+28+5)%7*#grid_w"/>
  57.         <Var name="y28" expression="#grid_y+int((28+#day1_week-1.1)/7)*#grid_h"/>
  58.         <Var name="x29" expression="#grid_x+(#day1_week+29+5)%7*#grid_w"/>
  59.         <Var name="y29" expression="#grid_y+int((29+#day1_week-1.1)/7)*#grid_h"/>
  60.         <Var name="x30" expression="#grid_x+(#day1_week+30+5)%7*#grid_w"/>
  61.         <Var name="y30" expression="#grid_y+int((30+#day1_week-1.1)/7)*#grid_h"/>
  62.         <Var name="x31" expression="#grid_x+(#day1_week+31+5)%7*#grid_w"/>
  63.         <Var name="y31" expression="#grid_y+int((31+#day1_week-1.1)/7)*#grid_h"/>
复制代码
每一天的颜色
  1. <!-- 每一天字体颜色 -->
  2.         <Var name="color1" type="string" expression="ifelse(ge(((#day1_week+1+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  3.         <Var name="color2" type="string" expression="ifelse(ge(((#day1_week+2+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  4.         <Var name="color3" type="string" expression="ifelse(ge(((#day1_week+3+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  5.         <Var name="color4" type="string" expression="ifelse(ge(((#day1_week+4+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  6.         <Var name="color5" type="string" expression="ifelse(ge(((#day1_week+5+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  7.         <Var name="color6" type="string" expression="ifelse(ge(((#day1_week+6+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  8.         <Var name="color7" type="string" expression="ifelse(ge(((#day1_week+7+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  9.         <Var name="color8" type="string" expression="ifelse(ge(((#day1_week+8+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  10.         <Var name="color9" type="string" expression="ifelse(ge(((#day1_week+9+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  11.         <Var name="color10" type="string" expression="ifelse(ge(((#day1_week+10+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  12.         <Var name="color11" type="string" expression="ifelse(ge(((#day1_week+11+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  13.         <Var name="color12" type="string" expression="ifelse(ge(((#day1_week+12+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  14.         <Var name="color13" type="string" expression="ifelse(ge(((#day1_week+13+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  15.         <Var name="color14" type="string" expression="ifelse(ge(((#day1_week+14+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  16.         <Var name="color15" type="string" expression="ifelse(ge(((#day1_week+15+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  17.         <Var name="color16" type="string" expression="ifelse(ge(((#day1_week+16+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  18.         <Var name="color17" type="string" expression="ifelse(ge(((#day1_week+17+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  19.         <Var name="color18" type="string" expression="ifelse(ge(((#day1_week+18+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  20.         <Var name="color19" type="string" expression="ifelse(ge(((#day1_week+19+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  21.         <Var name="color20" type="string" expression="ifelse(ge(((#day1_week+20+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  22.         <Var name="color21" type="string" expression="ifelse(ge(((#day1_week+21+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  23.         <Var name="color22" type="string" expression="ifelse(ge(((#day1_week+22+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  24.         <Var name="color23" type="string" expression="ifelse(ge(((#day1_week+23+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  25.         <Var name="color24" type="string" expression="ifelse(ge(((#day1_week+24+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  26.         <Var name="color25" type="string" expression="ifelse(ge(((#day1_week+25+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  27.         <Var name="color26" type="string" expression="ifelse(ge(((#day1_week+26+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  28.         <Var name="color27" type="string" expression="ifelse(ge(((#day1_week+27+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  29.         <Var name="color28" type="string" expression="ifelse(ge(((#day1_week+28+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  30.         <Var name="color29" type="string" expression="ifelse(ge(((#day1_week+29+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  31.         <Var name="color30" type="string" expression="ifelse(ge(((#day1_week+30+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
  32.         <Var name="color31" type="string" expression="ifelse(ge(((#day1_week+31+5)%7),5),'#FFBF0000','#FFD7D7D7')"/>
复制代码
判断29号-31号的是否显示
  1. <Var name="leap_year" expression="eq((#year%4),0)*ne((#year%100),0)+eq((#year%400),0)"/>
  2. <Var name="display29" expression="#leap_year+ne((#month+1),2)"/>
  3. <Var name="display30" expression="ne((#month+1),2)"/>
  4. <Var name="display31" expression="eq((#month+1),1)+eq((#month+1),3)+eq((#month+1),5)+eq((#month+1),7)+eq((#month+1),8)+eq((#month+1),10)+eq((#month+1),12)"/>
复制代码
当前日期的坐标
  1. <!-- 当前日期坐标 -->
  2. <Var name="date_current_x" expression="#grid_x+(#day1_week+#date+5)%7*#grid_w"/>
  3. <Var name="date_current_y" expression="#grid_y+int((#date+#day1_week-1.1)/7)*#grid_h"/>
复制代码
上面的都是一些定义,看不见的,下面这个是我们可以看见的,就是日历显示的内容
  1. <!--第n号的文字-->
  2. <Text text="1" x="#x1" y="#y1" color="@color1" size="24" align="right" visibility="not(eq(#date,1))"/>
  3. <Text text="2" x="#x2" y="#y2" color="@color2" size="24" align="right" visibility="not(eq(#date,2))"/>
  4. <Text text="3" x="#x3" y="#y3" color="@color3" size="24" align="right" visibility="not(eq(#date,3))"/>
  5. <Text text="4" x="#x4" y="#y4" color="@color4" size="24" align="right" visibility="not(eq(#date,4))"/>
  6. <Text text="5" x="#x5" y="#y5" color="@color5" size="24" align="right" visibility="not(eq(#date,5))"/>
  7. <Text text="6" x="#x6" y="#y6" color="@color6" size="24" align="right" visibility="not(eq(#date,6))"/>
  8. <Text text="7" x="#x7" y="#y7" color="@color7" size="24" align="right" visibility="not(eq(#date,7))"/>
  9. <Text text="8" x="#x8" y="#y8" color="@color8" size="24" align="right" visibility="not(eq(#date,8))"/>
  10. <Text text="9" x="#x9" y="#y9" color="@color9" size="24" align="right" visibility="not(eq(#date,9))"/>
  11. <Text text="10" x="#x10" y="#y10" color="@color10" size="24" align="right" visibility="not(eq(#date,10))"/>
  12. <Text text="11" x="#x11" y="#y11" color="@color11" size="24" align="right" visibility="not(eq(#date,11))"/>
  13. <Text text="12" x="#x12" y="#y12" color="@color12" size="24" align="right" visibility="not(eq(#date,12))"/>
  14. <Text text="13" x="#x13" y="#y13" color="@color13" size="24" align="right" visibility="not(eq(#date,13))"/>
  15. <Text text="14" x="#x14" y="#y14" color="@color14" size="24" align="right" visibility="not(eq(#date,14))"/>
  16. <Text text="15" x="#x15" y="#y15" color="@color15" size="24" align="right" visibility="not(eq(#date,15))"/>
  17. <Text text="16" x="#x16" y="#y16" color="@color16" size="24" align="right" visibility="not(eq(#date,16))"/>
  18. <Text text="17" x="#x17" y="#y17" color="@color17" size="24" align="right" visibility="not(eq(#date,17))"/>
  19. <Text text="18" x="#x18" y="#y18" color="@color18" size="24" align="right" visibility="not(eq(#date,18))"/>
  20. <Text text="19" x="#x19" y="#y19" color="@color19" size="24" align="right" visibility="not(eq(#date,19))"/>
  21. <Text text="20" x="#x20" y="#y20" color="@color20" size="24" align="right" visibility="not(eq(#date,20))"/>
  22. <Text text="21" x="#x21" y="#y21" color="@color21" size="24" align="right" visibility="not(eq(#date,21))"/>
  23. <Text text="22" x="#x22" y="#y22" color="@color22" size="24" align="right" visibility="not(eq(#date,22))"/>
  24. <Text text="23" x="#x23" y="#y23" color="@color23" size="24" align="right" visibility="not(eq(#date,23))"/>
  25. <Text text="24" x="#x24" y="#y24" color="@color24" size="24" align="right" visibility="not(eq(#date,24))"/>
  26. <Text text="25" x="#x25" y="#y25" color="@color25" size="24" align="right" visibility="not(eq(#date,25))"/>
  27. <Text text="26" x="#x26" y="#y26" color="@color26" size="24" align="right" visibility="not(eq(#date,26))"/>
  28. <Text text="27" x="#x27" y="#y27" color="@color27" size="24" align="right" visibility="not(eq(#date,27))"/>
  29. <Text text="28" x="#x28" y="#y28" color="@color28" size="24" align="right" visibility="not(eq(#date,28))"/>
  30. <Text text="29" x="#x29" y="#y29" color="@color29" size="24" align="right" visibility="not(eq(#date,29))*#display29"/>
  31. <Text text="30" x="#x30" y="#y30" color="@color30" size="24" align="right" visibility="not(eq(#date,30))*#display30"/>
  32. <Text text="31" x="#x31" y="#y31" color="@color31" size="24" align="right" visibility="not(eq(#date,31))*#display31"/>
  33. <!-- 当前日期_日 -->
  34. <Text x="#date_current_x" y="#date_current_y" format="%d" paras="#date" size="24" align="right" color="#FF0061ff"/>
  35. <DateTime format="yyyy年MM月" x="50" y="19" color="#FFeeeeee" size="27"/>
复制代码
3月19日:
查看未来几天的日期
     DateTime支持value属性,指定时间,并显示所指定格式
      显示明天日期:86400000 表示一天的毫秒数 当前系统时间加一天即明天的日期

例如:(设今天的日期为3月19日)
  1. 明   天:<DateTime value="#time_sys+86400000*1" format="mm/dd"/>   显示为:03/20
  2. 后   天:<DateTime value="#time_sys+86400000*2" format="mm/dd"/>   显示为:03/21
  3. 大后天:<DateTime value="#time_sys+86400000*3" format="mm/dd"/>   显示为:03/22
复制代码
③对于元素的缩放
    所有元素都支持 scale属性 表示缩放倍数, 图片成比例的缩放推荐用scale取代 w h,以免出现比例失调问题

④Group的灵活运用
   Group是可以多层套用的,x和y的值是叠加的,如果你想整体移动一个组里的内容这不失为一个比较快捷的方法
  1. <Group x=" "  y="  ">
  2.             <Group  x=" "  y="  " >
  3.                      内容
  4.             </Group>
  5. </Group>
复制代码
收藏259 分享  

已有 36 人评分 经验 威望 理由  

潘子9527 + 5 MIUI 因你更精彩!
灭绝师太v + 1 MIUI 因你更精彩!
柚子鬼哟丶 + 1 精品文章^_^
沐|雨|橙|风 + 2 精品文章^_^
h2457528767 + 1 MIUI 因你更精彩!
DanisSSSR + 1 &lt;font&gt;&lt;font&gt;Коллекциониров.
臻萃果汇-淘宝 + 1 精品文章^_^
晓丶七月 + 2 助人为乐^_^
freedpon + 1 精品文章^_^
一YY阳 + 1 MIUI 因你更精彩!
jason\\\'\\\'\\ + 5 感谢分享^_^
米小麦_MERIN + 1 感谢分享^_^
两处相思 + 3 MIUI 因你更精彩!
楚楚h + 1 感谢分享^_^
伍蘅 + 1 MIUI 因你更精彩!
已充电 + 1 scale怎么用?比如放大为1.1倍 scale=&quot;1.1.
发烧友hant + 5 助人为乐^_^
我们的诗篇 + 5 MIUI 因你更精彩!
z1老张 + 1 精品文章^_^
清泠7731 + 1 精品文章^_^

经验 +115  威望 +4  查看全部评分

玩机之神

MiPad用户组—前排掌门

Rank: 7Rank: 7Rank: 7

积分
75055
机型
未知设备
签到次数
144
MIUI版本
V9.6.8.0.ODGCNFD
私信

MIUI 3000万MIUI 2000万1000万用户纪念勋章小米平板首发纪念勋章MIUI三周年百万壁纸极客勋章关注微信小米桌面关注腾讯微博关注新浪微博

2013-3-19 15:06 | 来自PC
|
本帖最后由 ymsy2011 于 2013-3-19 15:08 编辑

支持一下.
顺便晒一个以前的桌面,
用的是你的主题!

玩机之神

MIUI主题制作讨论群:50908275或147992669

Rank: 7Rank: 7Rank: 7

积分
34858
机型
小米MIX 2
签到次数
97
MIUI版本
8.4.12
私信

2018新年勋章2017圣诞节勋章感恩节勋章MIUI 3000万MIUI 2000万1000万用户纪念勋章MIUI三周年极客勋章关注微信关注腾讯微博关注新浪微博发烧友俱乐部

2013-3-19 15:06 | 来自PC
|
感谢分享

玩机之神

Rank: 7Rank: 7Rank: 7

积分
107333
机型
未知设备
签到次数
227
MIUI版本
9.7.18
私信

MIUI 3000万MIUI 2000万1000万用户纪念勋章MIUI 7小米平板首发纪念勋章MIUI三周年关注微信关注腾讯微博关注新浪微博MIUI 100周

2013-3-19 15:19 | 来自PC
|
来支持了
谢谢分享

玩机之神

UU

Rank: 7Rank: 7Rank: 7

积分
37034
机型
未知设备
签到次数
153
MIUI版本
8.8.9
私信

MIUI 2000万1000万用户纪念勋章小米手机3终身荣誉勋章小米手机2终身荣誉勋章MIUI三周年关注微信关注腾讯微博关注新浪微博MIUI 100周

2013-3-19 16:40 | 来自PC
|
不错不错

玩机之神

变速

Rank: 7Rank: 7Rank: 7

积分
62408
机型
小米Note
签到次数
99
MIUI版本
V10.2.1.0.MCCCNXM
私信

MIUI 3000万MIUI 2000万1000万用户纪念勋章MIUI 7MIUI五周年MIUI三周年极客勋章关注微信关注腾讯微博关注新浪微博MIUI 100周

2013-3-19 19:27 | 来自PC
|
学习,谢谢分享。

内测粉丝组

Rank: 6Rank: 6

积分
9980
机型
未知设备
签到次数
159
MIUI版本
9.7.8
私信

MIUI 10专属勋章2018新年勋章2017圣诞节勋章MIUI3亿用户纪念勋章感恩节勋章万圣节勋章MIUI七周年MIUI 9纪念勋章“澎湃S1 ”芯片纪念勋章2017年小金鸡勋章圣诞节勋章APP 1000万小火箭勋章MIUI 300周MIUI 2000万1000万用户纪念勋章MIUI 7MIUI五周年MIUI三周年关注微信极客勋章关注腾讯微博关注新浪微博我爱米兔

2013-3-25 18:59 | 来自PC
|
前排支持。学习了。。

内测粉丝组

Rank: 6Rank: 6

积分
11394
机型
未知设备
签到次数
206
MIUI版本
9.7.16
私信

MIUI 3000万MIUI 2000万1000万用户纪念勋章MIUI三周年关注腾讯微博关注新浪微博MIUI 100周

2013-3-25 19:04 | 来自PC
|
不明觉历

    Intact Magical: Opera/9.80 (Windows NT 6.2; U; zh-cn) Presto/2.10.229 Version/11.64  (zh-cn)          

    玩机之王

    Rank: 5Rank: 5

    积分
    3516
    机型
    小米Note
    签到次数
    175
    MIUI版本
    6.9.22
    私信

    1000万用户纪念勋章

    2013-4-4 08:32 | 来自PC
    |
    看了下   添加了一些东西 但是还是没看懂 技术贴 不错 学习了

    玩机之王

    Rank: 5Rank: 5

    积分
    2019
    机型
    未知设备
    签到次数
    122
    MIUI版本
    8.3.8
    私信

    MIUI七周年

    2013-4-4 08:42 | 来自PC
    |
    看到 老眼昏花
    快速回复 返回顶部 返回列表