Axure教程:移動端原型如何適配不同分辨率的手機?

26 評論 52639 瀏覽 249 收藏 8 分鐘

常常在一些原型設計QQ討論群里,有人咨詢如何讓移動端原型剛好能顯示在手機屏幕上,更進一步的效果是在不同分辨率上都能正常顯示,今天我們就來聊聊如何適配不同手機分辨率的問題。

一、移動端簡單原型設計

先來設計一個簡單的移動端的原型,上邊一個標題欄,中間同內容,底端是一個菜單欄。

樣式設置如下:

(1)標題欄:添加一個矩形框,命名title,大小為400*40,藍底白字,文字左對齊,左邊距10。

(2)搜索框:添加一個矩形框模擬輸入框,大小為360*40,灰色邊框,灰色文字,文字左對齊,文字內容為“請輸入搜索內容”。

(3)幾個圖標:在輸入框下方添加5個占位符來表示,注意將左右兩個占位符分別和上方的矩形框對齊。

(4)菜單欄:在稍微下方的位置添加個矩形框,命名為menu,表示菜單欄,大小和標題欄一致,背景為淺灰色。

準備工作做好了,我們希望的效果是在手機上顯示時,標題欄寬度正好和手機瀏覽器寬度一樣,輸入框和幾個占位符在水平方向上處于屏幕中間位置,菜單欄在屏幕的底端。

二、移動端原型預覽

好了,現在我們不做任何處理的情況下,預覽一下效果。

為了在預覽時不要出現左側的工具欄影響查看,我們在按下F8鍵將原型導出html時注意選擇“不加載工具欄”:

然后將導出的原型通過手機數據線傳到手機上SD卡的某個位置(為方便,我們以Android手機為例),在手機上訪問頁面index.html,訪問的效果如下:

我們發現除了手機屏幕比較小外,顯示的效果和在電腦瀏覽器上的效果一樣,并沒有適配在手機上,也就是說,原型根本就沒有識別到當前是在手機瀏覽器上顯示。

三、修改發布參數

我們需要修改一下發布時的參數,讓導出的頁面能自動識別出是在手機上訪問。

按下F8鍵,選擇“移動設備”,只需要勾選“包含視口標簽”,單擊“生成”按鈕:

重新導出原型頁面,將導出的頁面重新上傳到手機SD卡上,再通過手機瀏覽器來訪問,效果如下:

這時我們發現效果圖已經基本差不多在手機上正常顯示了。

但是,還是有點問題!

  1. 標題欄和菜單欄寬度并沒有和屏幕寬度一致,右邊有空出一部分
  2. 內容部分也沒有在屏幕上水平居中顯示
  3. 菜單欄沒有在屏幕的底端

怎么辦呢?

辦法是有的,這就是我們下一步要解決的問題。

四、手機屏幕分辨率適配思路

現在的問題有上面提到的三點,那么就針對這三點來處理。

(1)標題欄和菜單欄寬度并沒有和屏幕寬度一致的問題

思路:我們并不知道每個手機的屏幕大小是多少,但是Axure里有函數可以獲得瀏覽器窗口的寬度,因此只要在原型頁面加載完成時,設置一下標題欄和菜單欄的寬度和窗口寬度大小一樣不就行了嗎?

選擇當前頁面,雙擊“頁面載入時”添加事件處理:

這樣在頁面加載完成時,就會設置標題欄和菜單欄和屏幕寬度一致了,注意同時勾選title和menu,寬度都設置為“[[Window.width]]”。

(2)內容部分也沒有在屏幕上水平居中顯示

思路:我們將內容部分當作一個整體,在頁面加載完成后,將內容移動到屏幕水平中面位置。

選擇除標題欄和菜單欄外的內容部分,右鍵轉換為動態面板,命名為main:

編輯前面的頁面加載事件,移動動態面板main的絕對位置到屏幕水平中央位置,y位置不變,計算公式=(窗口寬度-動態面板寬度)/2,最終的表達式為“[[(Window.width-LVAR1.width)/2]]”,注意這里使用到局部變量表示動態面板:

(3)菜單欄沒有在屏幕的底端

我們能取到窗口的高度,因此我們計算出菜單欄在屏幕上的位置。
具體位置=屏幕的高度-菜單欄的高度,最終表達式為“[[Window.height-LVAR1.height]]”,將菜單欄移動到這個位置即可,注意這里同樣使用到了局部變量表示菜單欄:

五、最終預覽效果

將原型重新導出,上傳到手機上,使用手機瀏覽器查看,最終的效果如下:

可以看到原型已經適配了手機屏幕的大小,達到我們所需要的效果,即使你在換了不同的手機后,也同樣會正常顯示。

 

本文由 @Axure 原型設計工場?原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 標題欄寬度設置為400,那么小屏幕手機預覽時,標題欄已經適配,但是還可以往右邊移動出現空白

    來自上海 回復
  2. 不錯

    來自福建 回復
  3. 在獲取內容的x值時,是不能直接獲取面板的寬度,必須通過局部變量嗎?

    來自浙江 回復
    1. 移動端沒試,網頁端經測試效果出奇的好

      來自浙江 回復
    2. 一個問題:為了匹配分辨率較小的網頁端設備,那原型尺寸豈不是要設計成很小嗎?不然如頂部導航欄邊緣部分的元件可能會因適配被隱藏。

      來自浙江 回復
  4. 謝謝樓主哈哈!不是老板

    來自浙江 回復
  5. 下載完原型看了一遍,這可能是目前為止最好的自適應解決方法!謝謝老板!已關注

    來自浙江 回復
  6. 對于問題【菜單欄沒有在屏幕的底端】,采用將整個菜單欄轉化為動態面板,然后固定到瀏覽器底部會稍微簡單點。

    來自湖南 回復
  7. 具體位置=屏幕的高度-菜單欄的高度?這個有點不懂

    來自江蘇 回復
    1. 這里說的是頁面里下方的菜單欄的位置,它的y位置=整個屏幕(瀏覽器)的高度-菜單欄本身的高度。

      來自安徽 回復
  8. 我寫成了windows。。。

    來自江蘇 回復
  9. 沒用,全部按步驟做,我手機瀏覽器的問題?

    來自江蘇 回復
  10. 添加頁面載入時用例時沒有“設置尺寸”這一選項,哭死~

    來自廣東 回復
    1. 雙擊頁面載入時事件,在打開的用例編輯彈出窗口里,從左側的“添加動作”列表中找到“設置尺寸”動作。

      來自安徽 回復
    2. Set size of 啊~我這版本翻譯成了設計大小。

      來自河南 回復
  11. 厲害??Axure雖然復雜但可以做到自動適配,墨刀是在做之前確定屏幕尺寸。

    回復
  12. 大神,這個和自適應功能有啥區別么?

    來自新疆 回復
    1. 你說的自適應功能是什么,自適應視圖嗎?

      來自安徽 回復
    2. 對 ?

      來自新疆 回復
    3. 那個其實寬度也是固定的。

      來自安徽 回復
    4. 好的,我再對比下。

      來自新疆 回復
  13. 學會了!不過要是axure能像墨刀一樣,通過地址或者二維碼訪問就好了,傳文件還是挺麻煩的

    來自安徽 回復
    1. 建個IIS不就行了

      來自四川 回復
    2. 那是什么

      來自浙江 回復
  14. 好方法,學習了

    回復
  15. 導出頁面及源文件下載,鏈接: https://pan.baidu.com/s/1mh6cxUo 密碼: cuaf

    來自安徽 回復