不做浮躁的人
          正在行走的人...
          posts - 171,  comments - 51,  trackbacks - 0
          源于移動(dòng)設(shè)備的dpi不同,可能導(dǎo)致一個(gè)設(shè)備上運(yùn)行展現(xiàn)正常的界面,到另外一個(gè)設(shè)備上慘不忍睹。

          flex sdk4.5及以上在Application及其子類上提供了ApplicationDpi,并支持3種類型的dpi:160,240,320,基本上可以涵蓋目前已有的設(shè)備的dpi。

          如果設(shè)定Application的applicationDpi,flex runtime會(huì)針對矢量圖以及文本自動(dòng)做dpi自適應(yīng),由于矢量圖繪制會(huì)產(chǎn)生痕跡,所以最好在設(shè)計(jì)時(shí)按照低dpi(比如160,Adobe官方建議)來設(shè)計(jì),在dpi=240的設(shè)備上,runtime會(huì)自動(dòng)將矢量圖放到為1.5倍。

          對于位圖來說,放大會(huì)導(dǎo)致痕跡,因此flex sdk提供了MultiDPIBitmapSource類,允許用戶針對160,240,320分別提供位圖。mobile app的splash不能采用MultiDPIBitmapSource,最好使用大位圖,讓runtime自動(dòng)縮小它。

          在skin中,判斷applicationDpi:
          switch (applicationDPI) {
          case DPIClassification.DPI_320: {
          upBorderSkin = skins.assets320.TransparentRoundedButton_up;
          downBorderSkin = skins.assets320.TransparentRoundedButton_down;
          break;
          }


          在css中,采用@media:
          @media (application-dpi: 160) {
           Button { fontSize: 20; }
          }

          要提供良好體驗(yàn)的splash,需要擴(kuò)展SplashScreen類,重寫getImageClass方法,比如:
          override mx_internal function getImageClass(dpi:Number, aspectRatio:String):Class {
          if (dpi == DPIClassification.DPI_160)
          return SplashImage160;
          else if (dpi == DPIClassification.DPI_240)
          return SplashImage240;
          else if (dpi == DPIClassification.DPI_320)
          return SplashImage320; return null;
          }
          }

          posted on 2014-02-06 19:26 不做浮躁的人 閱讀(396) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          <2014年2月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          2324252627281
          2345678

          常用鏈接

          留言簿(9)

          隨筆分類(31)

          隨筆檔案(75)

          文章分類(1)

          文章檔案(3)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 青川县| 河南省| 华宁县| 哈尔滨市| 滨海县| 保山市| 西安市| 天镇县| 崇阳县| 拉萨市| 松原市| 衢州市| 仙桃市| 邛崃市| 龙山县| 金沙县| 绵竹市| 微山县| 徐汇区| 稷山县| 车致| 泾川县| 开阳县| 高要市| 会昌县| 七台河市| 荆州市| 木里| 鲁甸县| 东辽县| 城固县| 郎溪县| 淳化县| 政和县| 嵩明县| 囊谦县| 铁岭市| 宝丰县| 临沧市| 堆龙德庆县| 闻喜县|