在移動(dòng)端 UI 設(shè)計(jì)中,經(jīng)常會(huì)用到的單位有 4 種:px、pt、dp 和 sp,很多人分辨不清這幾種單位及其換算關(guān)系,以及 iOS 和 Android 的切圖要求,我在這里做下簡(jiǎn)單的介紹,希望大家讀完后能有所收獲(如有錯(cuò)誤,歡迎糾正)。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了全南免費(fèi)建站歡迎大家使用!
px 即 pixel,像素點(diǎn),電子屏幕上組成圖像的最基本單位,在描述屏幕分辨率時(shí)也會(huì)使用該單位。1px 表示一個(gè)像素,例如 iPhone 8 的尺寸為 750px × 1334px,表示在該手機(jī)屏幕上,水平方向每行有 750 個(gè)像素點(diǎn),垂直方向每列有 1334 個(gè)像素點(diǎn)。
pt 即 point,有兩個(gè)含義:一是印刷行業(yè)常用單位,是一個(gè)標(biāo)準(zhǔn)長(zhǎng)度單位,絕對(duì)大小,1pt = 1/72 英寸 = 0.35mm;二是 iOS 開發(fā)用的基本單位,當(dāng)設(shè)計(jì)師以 1 倍尺寸進(jìn)行設(shè)計(jì) (375pt × 667pt) 并給出標(biāo)注稿時(shí),開發(fā)人員無需除以 2 便可直接使用。
dp 是安卓開發(fā)用的基準(zhǔn)單位,在 dpi (屏幕像素密度,即每英寸包含的像素點(diǎn)) 為 160 的屏幕為上,1dp = 1px。為了簡(jiǎn)單起見,Android 把屏幕密度分為了 5 種:mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi,下文會(huì)詳細(xì)介紹其換算關(guān)系。
在安卓系統(tǒng)里,sp 與 dp 類似,不同的是 sp 可以根據(jù)用戶的字體大小首選項(xiàng)進(jìn)行縮放,而 dp 則不會(huì)。 盡量使用 dp 作為空間大小單位,sp 作為文字相關(guān)大小單位,例如:新聞?lì)惡投绦蓬惖却笃谋?,推薦使用 sp 為單位。
在 iOS 開發(fā)中,不同機(jī)型的 iPhone 設(shè)備需要用到不同倍率的切圖,下表格為各 iPhone 機(jī)型顯示屏參數(shù)對(duì)比:
這里再簡(jiǎn)單了解下兩個(gè)概念,ppi 和 dpi。
ppi (iOS):即 pixel per inch,屏幕像素密度,表示每英寸所包含的像素點(diǎn),該值越高,屏幕越細(xì)膩。
dpi (iOS) :開發(fā)像素密度,表示每英寸所包含的開發(fā)像素點(diǎn)。
在 iOS 開發(fā)中,規(guī)定以 ppi = 163,dpi = 163 作為開發(fā)基準(zhǔn),
當(dāng) ppi = 163,dpi = 163 時(shí),則 1pt = 1px;
當(dāng) ppi = 326,dpi = 163 時(shí),則 1pt = 2px;
當(dāng) ppi = 401,dpi = 154 時(shí),則 1pt = 2.6px ≈ 3px。
(為什么 iPhone 8+/7+/6+ 的開發(fā)基準(zhǔn)是154?可能要問問蘋果了...)
依此類推,得出換算公式一:
若有小數(shù),四舍五入即可。
在 iOS 開發(fā)中,目前只需要 @2x 和 @3x 兩種切圖,所以導(dǎo)出 2 倍和 3 倍的 png 圖片即可。導(dǎo)出前注意檢查切圖是否存在半像素、毛邊等情況,保證對(duì)齊像素,這樣才能有效避免上線后頁面上的 icon 出現(xiàn)虛邊的問題,提高細(xì)節(jié)質(zhì)量。
另外補(bǔ)充一點(diǎn):從整體開發(fā)尺寸看,iPhone 8 是 375 × 667 pt (@2x),而 iPhone X 是 375 × 812 pt (@3x),同樣的寬度,一個(gè)用 @2x 圖,一個(gè)用 @3x 圖,iPhone X 表現(xiàn)出了更高的清晰度,如圖 2-1 所示。
在 Android 開發(fā)中,因?yàn)闄C(jī)型參差不齊,需要用屏幕密度來區(qū)分設(shè)計(jì)。
注意,這里的 dpi (Android) 和上文的 dpi (iOS) 是不同的概念,dpi (iOS) 是開發(fā)像素密度,而 dpi (Android) 即 dot per inch,表示屏幕像素密度 ,類似 iOS 開發(fā)里的 ppi。
Android 中,規(guī)定以 dpi = 160 為開發(fā)基準(zhǔn),
當(dāng) dpi = 160,基準(zhǔn)dpi = 160,1dp = 1px;
當(dāng) dpi = 240,基準(zhǔn)dpi = 160,1dp = 1.5px;
當(dāng) dpi = 320,基準(zhǔn)dpi = 160,1dp = 2px。
依此類推,得出換算公式二:
在設(shè)計(jì)圖標(biāo)時(shí),對(duì)于 5 種主流的屏幕像素密度 (mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi) 應(yīng)按照 2:3:4:6:8 的比例進(jìn)行縮放,如圖 3-1 所示。
例如,一個(gè)啟動(dòng)圖標(biāo)的尺寸為 48 × 48 dp,這表示在 mdpi 的屏幕上其實(shí)際尺寸應(yīng)為 48 × 48 px;在 hdpi 的屏幕上其實(shí)際大小是 mdpi 的 1.5 倍 (72 × 72 px);在 xhdpi 的屏幕上其實(shí)際大小是 mdpi 的 2 倍 (96 × 96 px),依此類推。
在某些況行下,還需要提供一種特殊的切圖: 點(diǎn)九圖 (上圖所示)。點(diǎn)九圖是 Android 開發(fā)中用到的一種特殊格式的圖片,文件名以 “.9.png” 結(jié)尾。
這種圖片能告訴程序,圖像哪一部分可以被拉升,哪一部分不能被拉升需要保持原有比列。運(yùn)用點(diǎn)九圖可以保證圖片在不模糊變形的前提下做到自適應(yīng),比如對(duì)話框背景圖片就會(huì)用到點(diǎn)九圖。
--
以上是全部?jī)?nèi)容,感謝你的閱讀!
End
ios平臺(tái)和Android平臺(tái)開發(fā)APP應(yīng)用程序主要區(qū)別:
一、編碼語言
Android平臺(tái)開發(fā)中是使用Java,ios平臺(tái)則是使用的Objective-C和Swift。需要注意的是,如果你是要用ios進(jìn)行開發(fā),就必須具備一個(gè)Apple設(shè)備,所以成本可能會(huì)比安卓的成本高些。
二、APP開發(fā)工具
ios和Android會(huì)利用各種工具進(jìn)行APP的開發(fā),Android使用的是具有多功能的IDE Android Studio,使開發(fā)簡(jiǎn)單了許多;ios平臺(tái)則是使用的XCode,它支持swift編程。
三、APP應(yīng)用程序的性能
在性能方面,ios的應(yīng)用程序更高一些,因?yàn)樗麄儞碛凶约旱沫h(huán)境,所以操作系統(tǒng)可以不依賴于其他設(shè)備定期進(jìn)行升級(jí);Android應(yīng)用程序,因?yàn)楹芏嘣O(shè)備運(yùn)行定制的Android操作系統(tǒng),不會(huì)得到免費(fèi)升級(jí)。
四、APP應(yīng)用程序的部署
如果開發(fā)者想在ios上發(fā)布應(yīng)用程序,需要等待幾天,因?yàn)锳PP需要蘋果的官方人員進(jìn)行審核,從而降低了發(fā)生錯(cuò)誤的幾率;如果實(shí)在Android上發(fā)布,只需要等待幾個(gè)小時(shí),之后就可以直接上傳應(yīng)用,雖然時(shí)間快速了,但對(duì)于安全方面來說,可能會(huì)不如ios。
如果企業(yè)選擇商領(lǐng)云進(jìn)行定制開發(fā)app,需要單獨(dú)開發(fā)兩套系統(tǒng)即ios和安卓系統(tǒng)。如果是通過商領(lǐng)云的在線制作app,則可以同時(shí)生成ios和安卓系統(tǒng)的app,并且還可以制作小程序、移動(dòng)網(wǎng)站和微商城,非常方便,而且價(jià)格也只需幾萬左右,具體需要看功能需求。
談及當(dāng)今什么移動(dòng)應(yīng)用開發(fā)程序發(fā)展迅速,無外乎就是iOS和Android兩大巨頭了,所以很多同學(xué)都想要從事移動(dòng)開發(fā)領(lǐng)域,是選擇IOS開發(fā)還是選擇Android開發(fā)崗位呢?這對(duì)于選擇困難者來說又是一個(gè)難題,下面杭州北大青鳥就幫大家來分析下IOS開發(fā)與Android開發(fā)哪個(gè)崗位更受歡迎。
IOS開發(fā)與Android開發(fā)哪個(gè)崗位更受歡迎?同時(shí)決定開發(fā)者選擇的因素還包括他們是否有足夠的資源和精力來涉及更多的平臺(tái),因?yàn)殚_發(fā)程序真的需要大量的時(shí)間和精力來進(jìn)行測(cè)試。
對(duì)于IOS開發(fā)和Android開發(fā),哪個(gè)崗位最受移動(dòng)開發(fā)者喜歡呢?下面一起來看一下IOS與Android開發(fā)的現(xiàn)狀與分析:IOS開發(fā)現(xiàn)狀據(jù)網(wǎng)絡(luò)調(diào)查數(shù)據(jù)顯示,月薪8000元以上的IOS開發(fā)者達(dá)48%IOS開發(fā)者的月薪范圍大部分都在5000-8000元區(qū)間,占25%;10000-15000元區(qū)間占比19%;3000-5000元區(qū)間和8000-10000元區(qū)間占比均為17%;月薪低于3000和高于25000的人數(shù)都比較少,各自占比10%和4%。
52%的IOS開發(fā)者工作經(jīng)驗(yàn)是1-3年,26%的工作經(jīng)驗(yàn)不到一年,擁有3-6年工作經(jīng)驗(yàn)占15%,六年以上的最少,為7%。
根據(jù)調(diào)查顯示:在企業(yè)開發(fā)游戲月薪10000元以上的占38%,在企業(yè)開發(fā)應(yīng)用的占30%。
在企業(yè)開發(fā)游戲的IOS開發(fā)者月薪5000以下的為21%,在企業(yè)開發(fā)應(yīng)用的IOS開發(fā)者月薪5000以下的占23%。
大部分企業(yè)游戲開發(fā)者的月薪分布在10000-15000元,占22%,在企業(yè)開發(fā)應(yīng)用的IOS開發(fā)者月薪主要分布在5000-8000元,占28%。
Android開發(fā)現(xiàn)狀據(jù)數(shù)據(jù)統(tǒng)計(jì)顯示:目前熱招的Android技術(shù)相關(guān)崗位約有3882個(gè),而一個(gè)月內(nèi)的有效崗位量在2298個(gè)。
主要熱招職位包括Android開發(fā)工程師、Android軟件工程師、Android應(yīng)用開發(fā)工程師、系統(tǒng)驅(qū)動(dòng)工程師,Android手機(jī)游戲開發(fā)、Android系統(tǒng)軟件開發(fā)、Android程序員、Android游戲應(yīng)用版本管理、人機(jī)交互分析工程師、Android中間層開發(fā)工程師等。
從人才需求類型來看,目前對(duì)Android人才需求一類是偏向硬件驅(qū)動(dòng)的Android人才需求,一類是偏向軟件應(yīng)用的Android人才需求。
從目前的招聘需求來看,后者的需求較大,包括手機(jī)游戲、手機(jī)終端應(yīng)用軟件和其他手機(jī)應(yīng)用軟件的開發(fā)。
學(xué)iOS開發(fā)和Android開發(fā)哪個(gè)更有前途?哪個(gè)更好學(xué)?這是目前很多想進(jìn)入移動(dòng)互聯(lián)網(wǎng)開發(fā)行業(yè)的朋友尤為關(guān)心的問題。目前Android和iOS可謂是現(xiàn)在手機(jī)操作系統(tǒng)中的兩大巨頭。隨著安卓手機(jī)和蘋果手機(jī)的越來越火爆,現(xiàn)在從事手機(jī)開發(fā)的人員越來越多。而且現(xiàn)在越來越多的iOS培訓(xùn)機(jī)構(gòu)、Android培訓(xùn)機(jī)構(gòu)也如雨后春筍般涌現(xiàn)出來,也進(jìn)一步反映出了這兩個(gè)開發(fā)方向的主流趨勢(shì)。對(duì)于許多想從事手機(jī)開發(fā)的人員,是選擇學(xué)習(xí)iOS開發(fā)還是Android開發(fā)陷入了不能自拔的糾結(jié)當(dāng)中,下面IT培訓(xùn)就從客觀角度來為大家分析下這兩個(gè)系統(tǒng)各自的利弊。
學(xué)iOS開發(fā)和Android開發(fā)哪個(gè)更有前途
ios培訓(xùn)機(jī)構(gòu)認(rèn)為,物以稀為貴,由于ios的開發(fā)比較封閉,要想深入的學(xué)iOS,不僅僅是有Objective-C開發(fā)基礎(chǔ),還要具備MacOS/Darwin、C/C++高級(jí)編程才能深入下去,所以入門相對(duì)難一些。不過,現(xiàn)在走在大街上,隨處可見蘋果手機(jī),可以看出,蘋果的覆蓋率確實(shí)很高,雖然入門難,學(xué)習(xí)起來有一定的難度,但是iOS開發(fā)的高收入也是實(shí)在令人羨慕。
對(duì)于Android開發(fā)來講,Android的程序是開源的,而且Android操作系統(tǒng)上的各種應(yīng)用開發(fā),絕大部分都是使用JAVA來開發(fā)的,跑在Dalvik虛擬機(jī)上,一小部分使用NDK,上手相對(duì)容易,在市場(chǎng)上,android的公司非常多,用人持續(xù)處于供不應(yīng)求的狀態(tài),找工作相對(duì)比較容易。所以,在工資方面,Android開發(fā)的工資要低于iOS開發(fā)。對(duì)于基礎(chǔ)不是很好的朋友,可以選擇Android開發(fā)。
ios培訓(xùn)機(jī)構(gòu)認(rèn)為,對(duì)于Android開發(fā)和iOS開發(fā)哪個(gè)更有前景這個(gè)問題要具體情況具體分析,因人而異,不能光看薪水高低和外界亂評(píng)。如果你JAVA基礎(chǔ)比較好,建議學(xué)Android;如果你C語言比較好,建議學(xué)iOS。不管你選擇學(xué)什么,只要技術(shù)學(xué)扎實(shí)了,未來幾年都會(huì)很吃香,尤其是iOS,市場(chǎng)規(guī)范管理有序,做應(yīng)用開發(fā)比較省心。最后,套用一位網(wǎng)友所說:“你的興趣才是你的心意,不可為做而做,那樣你就只是工具了?!?/p>
對(duì)于一些基礎(chǔ)比較差,但是又想從事Android開發(fā)或者iOS開發(fā)的朋友,小編建議大家可以考慮參加一些iOS培訓(xùn)的Android開發(fā)培訓(xùn)或者iOS開發(fā)培訓(xùn)班,這樣可以讓自己在更短的時(shí)間內(nèi)掌握最精湛的技術(shù)。
安卓開發(fā)開發(fā)安卓系統(tǒng),ios開發(fā)開發(fā)ios系統(tǒng),前端就是架構(gòu)前端網(wǎng)站也就是你看到的這些界面相對(duì)教輕松,后端是專門寫邏輯代碼的,總的來說ios工資高,安卓有前途,要?jiǎng)?chuàng)業(yè)的話可以學(xué)安卓。千鋒教育有線上免費(fèi)Java線上公開課。 相對(duì)說android的市場(chǎng)要比javaweb的大一點(diǎn),因?yàn)閹缀鹾芏嗍謾C(jī)都用android系統(tǒng)。手機(jī)用戶比電腦用戶要多很多。javaweb開發(fā)是被包涵在java里的,java是個(gè)廣義的概念,而javaweb比較具本到應(yīng)用上去了。javaweb到了JavaEE領(lǐng)域了,也就是iavaenterpriseedition,java的企業(yè)版,看那個(gè)web就應(yīng)該想到是與Internet有關(guān)的,開發(fā)javaweb站一般是使用框架來開發(fā)的,例如Struts,hibernate,spring.應(yīng)用程序,初級(jí)的一般是用jsp+servlet+javabean來開發(fā)的,對(duì)大型的網(wǎng)。android主要是做手機(jī)端開發(fā)的,而android是基于java的,很多語法什么的都是類似的,但是這并不是說學(xué)android需要先學(xué)java,不過有java的基礎(chǔ)學(xué)android會(huì)更容易上手。如果想了解更多相關(guān)知識(shí),建議到千鋒教育了解一下。千鋒教育目前在18個(gè)城市擁有22個(gè)校區(qū),年培養(yǎng)優(yōu)質(zhì)人才20000余人,與國(guó)內(nèi)20000余家企業(yè)建立人才輸送合作關(guān)系,院校合作超600所。