emui主题制作吧 关注:53贴子:455

闲着无聊,给需要的人讲解下,emui锁屏的结构吧

只看楼主收藏回复

镇楼的是主题绽放,就以它来讲解吧。


IP属地:湖南通过百度相册上传1楼2014-08-27 17:39回复
    首先,准备工作,有台电脑,HWT的主题文件~然后重命名为XXX.zip,比如说:


    IP属地:湖南2楼2014-08-27 17:40
    回复
      然后,解压出这个压缩包,,打开,是这个主题内部的构造~


      IP属地:湖南通过百度相册上传3楼2014-08-27 17:42
      回复
        这次的重点是unlock文件夹,其他的大家可以自己摸索


        IP属地:湖南4楼2014-08-27 17:42
        回复
          打开unlock文件夹:
          ,主要是三部分,drawable-hdpi是切图包,包括锁屏所有的切图,layout-hdpi是脚本控制包,主要是xml文件,负责控制锁屏的样式排布和功能,theme.xml文件是对锁屏壁纸及锁屏脚本控制,<item wallpaper="unlock_wallpaper_0.jpg"/>表示锁屏壁纸是unlock_wallpaper_0.jpg,<item layout="layout1"/>表示该锁屏的样式排列等的控制文件是layout-hdpi下的layout1.xml文件。


          IP属地:湖南通过百度相册上传5楼2014-08-27 17:45
          回复
            打开drawable-hdpi文件夹,显示的是锁屏界面的所有切图,数字图片命名有规范,以便锁屏时间的显示。该文件内是锁屏的切图,大家想要修改自己的锁屏样式,可以自己手动替换相应的图,最好是分辨率、命名相同,这样不需要改xml文件


            IP属地:湖南通过百度相册上传6楼2014-08-27 17:46
            回复
              楼上的常规非重点说完了,到重点了,打开layout-hdpi文件夹,里面是layout1.xml,选择,右键编辑,或者记事本打开都可以


              IP属地:湖南通过百度相册上传7楼2014-08-27 17:47
              回复
                分解这些代码,最外层是<layout></layout>相当于一个容器,没实际意义~
                然后是<static></static>和<state></state>两部分
                1.<static></static>这部分表示整个屏幕,不可指定位置
                2.<state></state>这是解锁状态区域,可指定在屏幕上的位置


                IP属地:湖南8楼2014-08-27 17:47
                收起回复
                  额,先说下,坐标轴和布局的原理,下面这张图起到了很好的说明作用:


                  IP属地:湖南通过百度相册上传9楼2014-08-27 17:48
                  回复
                    然后继续还是<static>和<state>
                    1.<static>中主要是<text>和<image>两类代码,根据字面意义可以明白是文本资源跟图片资源。
                    镇楼的锁屏详细的代码如下图:
                    ,楼下说明每行的意义。


                    IP属地:湖南通过百度相册上传10楼2014-08-27 17:49
                    回复
                      首先前两行
                      之前的楼上说明x,y,w,h各自的意义了,align表示文本位置是居中(center),居左(left),居右(right),color当然是字体的颜色,大家可以随便替换颜色代码,src表示文本的内容,carrier是运营商信息,carrier2是电信双卡的副卡的信息,对应了,镇楼图里,第一行字跟第二行字


                      IP属地:湖南通过百度相册上传11楼2014-08-27 17:51
                      回复
                        再下面是时间区域:
                        同样xywh的意义表示图片的排列位置及图片大小,src里面的内容是拼写的图片名称字符串,system.time.hour1是当前小时数的十位,system.time.hour2是当前小时数的个位,依次可以理解system.time.min。colon.png文件是时钟与分钟之间的两点样式图片。可以自行替换。


                        IP属地:湖南通过百度相册上传12楼2014-08-27 17:52
                        回复
                          再接下来是:

                          这一行,抛开xywh,继续往下,visible是可视性,就是区别啥时候会显示这个文本,system.time.showampm是系统内的一个属性,是否显示24小时制,是用户可选的。align表示排列,居左,color:字体颜色,src表示该文本的内容,这里是当前时间为上午还是下午。对照锁屏就是


                          IP属地:湖南13楼2014-08-27 17:53
                          回复
                            擦,图片好像看不清,那就发代码吧:
                            <text x="0" y="290" w="720" h="54" align="center" size="18" color="#FFFFFFFF" src="system.date"/>
                            接下来一行,楼上有讲解的略过,size表示文本的大小,都是可以调节的,src的内容是当前系统的年月日星期,对照镇楼图部分:


                            IP属地:湖南14楼2014-08-27 17:54
                            回复
                              接下来:
                              <text x="0" y="350" w="720" h="50" visible="system.charge.show" align="center" size="18" color="#FFFFFFFF" src="system.charge.text"/>
                              <text x="0" y="360" w="720" h="50" visible="!system.charge.show and system.ownerinfo.show" align="center" size="18" color="#FFFFFFFF" src="system.ownerinfo.text"/>
                              这两个,上面的表示的是充电文本显示,下面的是拥有者信息,可以看到两者的坐标位置是一致的,所以充电时不显示拥有者信息,visible里面的意思是手机未在充电且用户勾选显示拥有者信息时显示拥有者信息,


                              IP属地:湖南15楼2014-08-27 17:55
                              回复