锁屏/百变壁纸全机型适配教程

一、壁纸的适配

使用以下代码会使壁纸拥有自适应屏幕的能力,适用于锁屏和百变壁纸,它会通过计算壁纸的实际尺寸,以显示最全内容为前提填充满当前机型屏幕。

<!– 壁纸全机型自适应 –>

<Var name=”wallpaper_auto_scale” expression=”ifelse((#screen_height/#image_wallpaper.bmp_height)}(#screen_width/#image_wallpaper.bmp_width),#screen_height/#image_wallpaper.bmp_height,#screen_width/#image_wallpaper.bmp_width)-1″/>

<Group x=”0″ y=”0″ w=”#screen_width” h=”#screen_height” clip=”true”>

<Image name=”image_wallpaper” x=”#screen_width/2″ y=”#screen_height/2″ pivotX=”#image_wallpaper.bmp_width/2″ pivotY=”#image_wallpaper.bmp_height/2″ scale=”1+#wallpaper_auto_scale” align=”center” alignV=”center” src=”bg.jpg” />

</Group>

二、元素的适配

看到很多人还是不能理解适配的原理,一句话概括以下原理,也就是最直接的用法:靠近屏幕底部边缘且需要适配mix的元素:y坐标直接用#screen_height减去相对于底部边缘向上移动的像素即可!
首先要明确#screen_height不是一个定值,它会在不同分辨率机型上输出不同的数值。比如1080*1920机型,它会输出1920;在1080*2040机型,它会输出2040;在1080*2160机型,它会输出2160。在720*1280,它仍会输出1920,因为我们现在的锁屏最上边都会有一个“screenWidth=“1080”的属性”,这表示当前这个锁屏的参考屏幕分辨率是1080*1920的,因为720*1280的分辨率和1080*1920的长宽比是相同的。所以,720p屏幕上会以同长宽比的1080p元素自动缩放。综上,只需要将靠近屏幕底部边缘且需要适配mix的元素:y坐标直接用#screen_height减去相对于底部边缘向上移动的像素即可!

 

41 条评论

  • 匿名 2018年5月16日 回复

    要把从上面复制的引号改过才能用

  • GUILTY 2018年5月14日 回复

    我想知道自适应代码第一行最后突然出现的花括号是干嘛的??不是语法错误么

  • 匿名 2018年4月20日 回复

    简单!不懂的加QQ问我951637256

  • 匿名 2018年3月14日 回复

    我们能不能自己做一个线下主题商店你们这样我们也很难做啊。

  • 王鹏 2018年3月5日 回复

    2040的y=“#screen_height-120”, 2160的y=“#screen_height-240” 1920的 y=“#screen_height”

    请问这个y轴要怎么写才对?y=“#screen_height”

    那1920的y轴=“#screen_height-240” 如果要适配全面屏的 y=“?”求解

    如果用变量来适配可不可以给个代码!就上面的方法屏锁严重错位啊 ,并且1920和2160的两款机字显示完全不一样 曾见过一次 但是忘记怎么写了

    • 王鹏 2018年3月5日 回复

      评论一番理清了思路这就是代码了

  • 龍炸天 2018年2月14日 回复

    一样的主题修改了细节部分,第1次通过了,第2次却失败了 ,都不知道什么原因?就修改了壁纸而已。

  • 晨殿 2018年1月30日 回复

    直接说明白怎么用不行么?解释那么多?看不懂啊看不懂!!!!!!!!!!!!!!!!!!

    • Sunny 2018年3月15日 回复

      靠近屏幕底部边缘且需要适配mix的元素:y坐标直接用#screen_height减去相对于底部边缘向上移动的像素即可!

  • 晨殿 2018年1月30日 回复

    有必要这么费劲解释么?直接说明白怎么做不行么?看不懂啊看不懂!!!!!!!!!!!

  • 匿名 2018年1月25日 回复

    没有真机没法搞呀,总是审核失败。

  • 匿名 2018年1月20日 回复

    好难啊

  • 匿名 2018年1月19日 回复

    mix的通知栏不生效怎么整?

  • 匿名 2018年1月10日 回复

    应了那句话,会的不难,难的不会

  • 杜俊峰 2017年12月31日 回复

    完全蒙逼了。。。一提交就退回。。。
    能不能直接给出代码啊???

  • 匿名 2017年12月29日 回复

    MIX1 和 MIX2 表格里的720输出屏幕高度写反了

  • 匿名 2017年12月29日 回复

    720是不是这样写y=”ifelse(eq(#raw_screen_height,2160),240*720/1280,0)” 2040是不是不用管了
    @小番茄

  • 匿名 2017年12月29日 回复

    整不明白

  • 匿名 2017年12月29日 回复

    我觉的写一个判断就行了,比如说在先用#raw_screen_height==1920还是==2160来决定显示什么图片

  • 匿名 2017年12月27日 回复

    表示图片严重错位,怎么破

  • 匿名 2017年12月27日 回复

    真机上没有问题,已经适配好mix系列了,但是无法通过智能审核。请问怎么可以保证通过智能审核呢?具体需要哪些代码呢?希望告知一下。

    • 匿名 2017年12月27日 回复

      能否告知该怎么适配

  • 匿名 2017年12月27日 回复

    请问自由桌面怎么适配

  • 匿名 2017年12月26日 回复

    没有真机,不敢试, 但是刚上传的主题被退回来了,,,, 不知怎么搞,,

    • 匿名 2017年12月29日 回复

      买max2,这就是小米越来越差的原因

  • 匿名 2017年12月21日 回复

    这样y不就等于=”2040″了吗?跑到下面去了?

  • 匿名 2017年12月21日 回复

    那之前已经上架的主题需要再适配全面屏吗?不适配会不会下架

  • 匿名 2017年12月21日 回复

    所以只需要调输出屏幕高度就行了吧?那适配mix为y=”#screen_height-120,那适配mix2是不是要y=”#screen_height-240

  • 匿名 2017年12月21日 回复

    那我没有全面屏手机怎么办?做了主题怎么测试

  • 策策策 2017年12月21日 回复

    y=”#screen_height – 120″
    按照这种方式写的,你们的是对的么,我按这个写,元素就跑到了屏幕最上方QAQ

  • 黑桃 2017年9月14日 回复

    怎么更新以后原来的代码没有了?可不可以把代码给出来啊?

    • Sunny 2017年9月15日 回复

      原来的可以不用了,直接用这个就行。

      • 杜俊峰 2017年12月31日 回复

        怎么用?

      • GUILTY 2018年5月14日 回复

        我的随屏幕滑动的加上代码后右半部分变成黑屏了,请问是怎么回事,还有能麻烦解释一下ifelse是怎么判断的吗

    • 杜俊峰 2017年12月31日 回复

      同问,能否把代码给出。

  • 匿名 2017年8月31日 回复

    没事 反正mix2要来了

  • 匿名 2017年8月31日 回复

    没适配过mix,没有真机,不敢做

  • 匿名 2017年8月30日 回复

    没适配mix应该没事吧

  • 匿名 2017年3月8日 回复

    适配mix,720p严重错位!
    代码按照1080p布局来写,到720p上所有数值被缩放720/1080倍,用屏幕实际高度来写,会变成720*(720/1080)。。。。。

    • 匿名 2018年4月25日 回复

      不存在的
      ,你自己没适配好

  • 匿名 2017年2月11日 回复

    适配MIX之后,720p 会出问题啊

发表评论

电子邮件地址不会被公开。

©2015-2016 zhutidasai.com. 版权所有 京ICP备16041368号-3