android開發之螢幕尺寸問題
首先了解幾個常見尺寸單位的意義:
px(Pixel):畫素點的個數,我們常說的1080*1920指的是橫向尺寸上有1080個畫素點,縱向尺寸上有1920個點。
螢幕尺寸:一般我們說的尺寸指的是手機對角線的長度。
DPI(Dots Per Inch):翻譯成中文就是每英寸的點數,意思就是每英寸畫素點的個數。假如有個手機解析度是1080*1920,螢幕尺寸是4.95英寸。那麼該手機的DPI計算公式如下:
dp:也可以叫dip(device independent pixels),也就是裝置獨立畫素,不同的裝置有不同的顯示效果,關於dp和px的換算如下圖:
舉個例子,如果兩部手機手機螢幕尺寸相同,A手機的dpi為160,B手機的dpi為320,如果一個控制元件高度為10dp,那麼A手機控制元件高度為10px,B手機控制元件高度為20px。
sp:與縮放無關的抽象畫素(Scale-independent Pixel),與dp類似
使用dp的好處,可以使控制元件的絕對尺寸不發生變化。假如一個控制元件某個方向的尺寸為i,畫素px值為px,dp的值為dp,手機的dpi的值為dpi,那麼該控制元件該方向的尺寸i的計算公式為:
如果用dp為單位的話,螢幕越大,那麼比例就變小了。
相關推薦
android開發之螢幕尺寸問題
首先了解幾個常見尺寸單位的意義: px(Pixel):畫素點的個數,我們常說的1080*1920指的是橫向尺寸上有1080個畫素點,縱向尺寸上有1920個點。 螢幕尺寸:一般我們說的尺寸指的是手機對角線的長度。 DPI(Dots Per Inch):翻譯成中文就是每英寸的點數,意思就是每
Android開發之改動螢幕方向
有的場景下。我們須要把手機螢幕方向改變,以下是我寫的一個樣例。 xml頁面檔案: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" &nb
Android開發之如何獲取Android手機螢幕的大小(解析度、密度)
下面的程式碼即可獲取螢幕的尺寸:在一個Activity的onCreate方法中,編寫以下程式碼:DisplayMetricsmetric = new DisplayMetrics();getWindo
Android開發之getX,getRawX,getWidth,getTranslationX等的區別
save string hlist getwidth sta 是我 touch 項目 寬度 轉載請註明出處:http://blog.csdn.net/dmk877/article/details/51550031 好久沒寫博客了,最近工作確實挺忙的,剛剛結束了一個
Android 開發之Windows環境下Android Studio安裝和使用教程(圖文詳細步驟)
9.png 虛擬機 jdk版本 編寫 clip 開發平臺 集成開發 arc 電腦安裝 鑒於谷歌最新推出的Android Studio備受開發者的推崇,所以也跟著體驗一下。 一、介紹Android Studio Android Studio 是一個Android
Android開發之AudioManager(音頻管理器)具體解釋
應該 數量 service eth out 開發 要求 type 路由 AudioManager簡單介紹: AudioManager類提供了訪問音量和振鈴器mode控制。使用Context.getSystemService(Context.AUDIO_SERVICE)
【入門篇】ANDROID開發之BUG專講
world 自然 執行 類型 效率 str 積累 全部 href 話說諸葛亮是一個優秀的程序員,每個錦囊都是應對不同的case而編寫的。可是優秀的程序員也敵只是更優秀的bug。六出祈山。七進中原,鞠躬盡瘁,死而後已的諸葛亮僅僅由於有一
android開發之merge結合include優化布局
ted com match clas you title example ews 文件的 merge結合include優化android布局,效果不知道。個人感覺使用上也有非常大的局限。只是還是了解一下。記錄下來。 布局文件都要有根節點,但androi
轉Android開發之增量更新
avt exp chm 這一 font ams extern city ron 一、使用場景 apk升級,節省服務器和用戶的流量 二、原理 自從 Android 4.1 開始, Google Play 引入了應用程序的增量更新功能,App使用該升級方式,可節省約2/3
Android開發之布局文件裏實現OnClick事件關聯處理方法
intent dsm nbsp ext 關聯 you vertica findview 時間 一般監聽OnClickListener事件,我們都是通過Button button = (Button)findViewById(....); button.se
Android 開發之 ---- bootloader (LK)
ttl tab 不同的 opera 指定 isa system void mem LK是什麽 LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代碼 ,little kernel
Android開發之藍牙連接打印機
cep sdi tco disable ner gis util receiver count 代碼很簡單,直接一個布局文件和一個activity。需要的朋友可以直接將這兩部分粘貼復制到項目中即可。 Activity部分: package com.anhua.bluet
Android開發之新建項目報錯的問題
instr rul txt gin 通過 ini .com org top 通過android studio新建一個空項目。在新建完項目之後,gradle編譯會報錯。 發生問題的原因是build.gradle(Project:TopDialog)中: allproject
Android開發之CriminalIntent項目開發(其一)
開發項目 1.0 enc 增加 委派 其他 date 應用 module 前言 這次的開發項目是一個叫做CriminalIntent的應用,該應用可以詳細記錄各種辦公室陋習。這個應用記載的陋習記錄包括標題、日期和圖片,支持在聯系人中查找當事人,通過E-mail、Twit
Android開發之旅3:android架構
通過 圖集 例如 sqlit 組件 mil 大小 簡化 .html 引言 通過前面兩篇: Android 開發之旅:環境搭建及HelloWorld Android 開發之旅:HelloWorld項目的目錄結構 我們對android有了個大
Android開發之旅1:環境搭建及HelloWorld
lan 及其 其它 ply 新項目 bsp 驗證 for 對話框 ——工欲善其事必先利其器 引言 本系列適合0基礎的人員,因為我就是從0開始的,此系列記錄我步入Android開發的一些經驗分享,望與君共勉!作為Android隊伍中的一個新人的
Android開發之漫漫長途 番外篇——自定義View的各種姿勢2
是個 pub water 常用 getchild mod one 它的 sdn 該文章是一個系列文章,是本人在Android開發的漫漫長途上的一點感想和記錄,我會盡量按照先易後難的順序進行編寫該系列。該系列引用了《Android開發藝術探索》以及《深入理解Android 卷
Android開發之漫漫長途 番外篇——內存泄漏分析與解決
set 程序 靜態 內存 ins clas back undle 介紹 該文章是一個系列文章,是本人在Android開發的漫漫長途上的一點感想和記錄,我會盡量按照先易後難的順序進行編寫該系列。該系列引用了《Android開發藝術探索》以及《深入理解Android 卷Ⅰ,Ⅱ,
2017.12.18 Android開發之消息隊列(實現子線程修改UI組件)
nds ace text read exce xtend prot ktr sta 1.界面布局,以及組件初始化: 組件初始化: private Button button; private Handler handler; @Ove
Android開發之漫漫長途 Ⅷ——Android Binder(也許是最容易理解的)
pct med ctf 共享 抽象 fin 進程的地址空間 源碼 instance 該文章是一個系列文章,是本人在Android開發的漫漫長途上的一點感想和記錄,我會盡量按照先易後難的順序進行編寫該系列。該系列引用了《Android開發藝術探索》以及《深入理解Android