❶ android的基本數據單位
1.在Android里跡哪邊設置控制項的大小一般用dp,字體用sp,當然字體大小也可以用dp來表示,不過這樣APP中的字體大小就不會隨著系統設置的字體大小而改變了。
2.dp不會隨著手機系仿州爛統的不一樣,而改變。
3.Android還有一個數據單位是px(像素),在layoutparams里邊設置的變數都是已px來定義的。
4.像素會隨著屏幕密度的改變而有不同的顯示效果,所以要備漏想在不同的系統、機型中擁有相同的大小,就需要px與dp之間的轉化,dp*系統像素密度就是px。
❷ android 默認系統字體大小是多少
Android中TextView控制項的字體大小默認是15sp
❸ 一篇文章幫你理清pt,px, ppi,dpi,dp,sp
作為一個新人,在做移動端UI設計的時候,往往對px,pt,ppi,dpi,dp,sp不是十分清楚,一倍圖二倍圖三倍圖如何換算,導致切圖時不知如何導出,本人在學習過程中整理匯總了一些相關知識,並盡量用最簡單得語言解釋。設計師在設計時可以進行參考。(如發現文中出現錯誤隱晌,請聯系我更正)。
名詞解釋 :
點pt : point,印刷行業常用單位,等於1/72英寸
像素px :pixel,電子屏幕上影像成像的基本單位。
長度單位 dp: dip ,Density-independent pixel, 是安卓開發用的長度單位,1dp表示在屏幕像素點密度為160ppi時1px長度
字體大小sp : scale-independent pixel,安卓開發用的字體大小單位。
點密度dpi : dot per inch,每英寸多少點,值越高圖片越細膩。屬於谷歌旗下第一款Android設備為160dpi,規定一倍圖為160dpi。
像素密度ppi :pixel per inch,每英寸像素數,值越高屏幕越細膩。
面積相等的區域里,塞進了多少個像素,就代表像素密度有多大,塞進的像素越多即像素密度越大,肉眼所見細膩。如圖1個方塊代表1個像素,同一個區域里,100X100px的區域塞進去像素更多,顯示時也會更清晰細膩。
計算公式及關系:
px與pt:1pt= (DPI / 72) px
即ps中,當畫布解析度為72時,pt=1px; 當新建畫布解析度為72*2=144ppi時,1pt=2px
dpi與ppi:安卓1倍圖(163dpi)=ios1倍圖(160ppi),dpi=ppi
注意:當ppi計算出來>=300,肉眼就已經分辨不出其區別。
以iphone3GS(320*480px/3.5 inch)為例 , 為ios1倍圖
接下來,我將用部分主流機型舉例:由 得,
iPhone 8 (750*1334px/4.7inch) 326 163*2 為2倍圖
iPhone xr (828*1792px/6.1inch) 319 163*2 為悶擾2倍圖
iPhone xs (1125*2346/5.8inch) 462 163*3 為3倍圖
用這個公式,就可以大致判斷每個機型應該是幾倍圖。其他就不在詳細計算了,以1倍的mdpi為基準,像素密度更高或者更低的設備,只需乘以相應的倍率,就能得到與基準倍率相近的顯示效果。上圖:
px和dp: 1dp=(屏幕ppi/ 160)px,即1dp定義為屏幕密度值為160ppi時的1px
以WVGA屏為例,該屏幕為480px*800px,按3.8寸屏算,點密度 √ (480^2 + 800^2) / 3.8 = 245,約等於240,對應於hdpi屏幕,所以該屏幕1dp=1.5px。安卓端屏幕大小各不相同,根據其像素密度,分為以下幾種規格:
1dp定義為屏幕密度值為160ppi時的1px,即在mdpi時,1dp = 1px。 以mdpi為標准,這些屏幕的密度值比為:ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在xhdpi的密度下,1dp=2px;在hdpi情況下,1dp=1.5px。其他類推。
dp和sp:都是安卓的開發單位,dp是長度單位,sp是字體單位,可根據用螞攜旦戶字體大小進行縮放,一般認為1dp=1sp。
Android系統允許用戶自定義文字尺寸大小(小、正常、大、超大等等,當文字尺寸是「正常」時1sp=1dp,而當文字尺寸是「大」或「超大」時,1sp>1dp。
總結:
1. 在畫布解析度=72ppi時,1pt=1px
2.ppi=dpi,計算公式(√ (屏幕橫向像素點x^2 + 屏幕縱向像素點y^2)/屏幕尺寸inch)
3. 1dp=(屏幕ppi/ 160)px
4.1dp=1sp
❹ px、dp和sp,這些單位有什麼區別
px、dp和sp,這三個單位搏蘆的區別在於,它們的定義各不相同:
px:指像素,是指基本原色素及其灰度的基本編碼。
2.dp:安卓開發時的長度單位。
3.sp:與縮放無關的抽象像襲迅素,是字體單位。
❺ 安卓怎麼改變字體大小
問題一:安卓手機中簡訊的字體大小能設置嗎?怎麼設置? 進入信息,然後點選擇鍵,裡面有設置,第一項就是信息字體大小
問題二:android studio怎麼設置字體大小 按照給定的字元集存儲文件時,在文件的最開頭的三個位元組中就有可能存儲著編碼信息,所以,基本的原理就是只要讀出文件前三個位元組,判定這些位元組的值,就可以得知其編碼的格式。
其實,如果項目運行的平台就是中文操作系統,
如果這些文本文件在項目內產生,即開發人員可以控制文本的編碼格式,
只要判定兩種常見的編碼就可以了:GBK和UTF-8。
由於中文Windows默認的編碼是GBK,所以一般只要判定UTF-8編碼格式。
問題三:Android 修改整個字體大小,怎麼弄? 在android中設置TextView的字體大小有以下幾中方式:
在java代碼中setTextSize(int unit, int size)TypedValue.PLEX_UNIT_PX : PixelsTypedValue.PLEX_UNIT_SP : Scaled PixelsTypedValue.PLEX_UNIT_DIP : Device Independent PixelstextView.setTextSize(TypedValue.PLEX_UNIT_PX, size);
在xml中
android:textSize=14sp 注意,單位是sp
問題四畢猜櫻:android studio怎麼改變字體大小 啟動Android Studio,菜單File-Setting...
在左邊的菜單中選擇Editor-Colors & Fonts-Font
右側可以看到Darcula主題的字體和字型大小是不能設置的。
點擊Save As ...按鈕
輸入另存的名字,點擊」OK「按鈕。如本經驗的例子:
修改想要的primary font和字型大小,然後點擊OK。
在代碼頁中就可以看到效果了。
問題五:如何在Android系統上修改系統默認的字體大小 Android系統中在Settings->Display->Font Size下面可以設置系統字體大小,默認的系統字體大小為Normal,如果想修改這個默認值,可以在下面這個文件中進行修改:在alps/frameworks/base/core/java/android/content/res/Configuration.java文件中如下public void setToDefaults() 這個方法中進行修改,如果默認要改成特大字手叢體,請改為1.15f,然後重新build framework.jar這個模塊即可;public void setToDefaults() {fontScale = 1.15f; normal value is 1mcc = mnc = 0;注意:Settings中系統的字體大小,在/packages/apps/Settings/res/values/arrays.xml文件中的」entryvalues_font_size」這個tag中分別有定義對應的數值,Small:0.9Normal:1.0Large:1.1所以如果要修改默認值,直接在上面那個方法中修改fontScale 為對應的數值即可(注意帶上f,表示為float類型)
問題六:android裡面字體大小怎麼在代碼里設 這里以把他設成20sp為例
在布局(xml)文件中直接
android:textSize=20sp
在java代碼中
先找到對應兆仿TextView的id即實例化TextView對象
然後 拿這個對象進行(這里以text為實例化對象為例) text.setTextSize(20);
問題七:請問當當讀書安卓版 如何調整字體大小 打開當當讀書點菜單鍵或者長按屏幕
問題八:安卓系統怎麼更換字體? 1.首先將你的字體文件改名為DroidSansFallback,字體文件格式應該為.ttf格式
2.在/system/fonts文件夾下找到 DroidSansFallback.ttf 這個海件將其刪除(建議最好備份此文件,要是你的字體不能用或不喜歡的話可以替換回來)
3.將你的字體復制至此目錄下,並長按該字體文件,出現菜單,選擇「許可權」,將用戶組的「讀」「寫」打鉤,將分組的「讀」打鉤,將其他的「讀」打鉤
4.重啟即可
問題九:Android Studio怎麼改變代碼字體大小 我們在剛開始使用Android Studio開發Android項目的時候,會發現Android Studio初始化的字體大小和字體樣式以及段落並不讓我們感到很舒服,總覺得不滿意,那麼我們就可以自己來定義屬於自己的代碼字體風格,記下來我就教大家怎樣更改Android Studio代碼字體的樣式
工具/原料
Android Studio 1.2.2
電腦
方法/步驟
首先找到菜單欄,單擊菜單欄的「File」菜單
在彈出的二級菜單中選中「Settings」選項,單擊它,打開設置窗口
在設置窗口中的左邊部分單擊「Editor」選項,展開
在展開的下一級菜單中,找到「Colors & Fonts」選項,展開它
然後在展開的,菜單中選擇「Font」選項,打開Font字體設置窗口
在打開的「Font」窗口中,找到「Save As...」按鈕,單擊它,在彈出的對話框中為自己的設置起一個名字,如果不單擊「Save As...」新建一個樣式的話,Android Studio默認是不給我們更改的
在彈出的對話框中,輸入我們更改後需要保存的樣式的名稱,然後單擊「OK」
接下來我們就可以進行更改設置了,「Primary font」是更改字體樣式,比如「楷體」,「Size」我們可以更改字體的大小,「Line spacing」可以更改行間距
更改完成之後我們單擊「Apply」應用更改,然後單擊「OK」
問題十:android studio怎麼修改字體大小 1.打開Android studio,點擊「File」->「Settings」,進入到設置窗口
2. 然後點擊「Appearance」,在右邊欄勾選「Override default fonts...」,然後下面的「Name」下拉列表裡就可以選擇自己喜歡的字體了,「Size」可以設置字型大小,但這一步是更改了Android studio的工具欄等的字體,編輯器字體看下一步
3. 再點擊設置窗口的左邊欄的「Editor->Colors & Fonts,首先點擊下面紅框的Save as,然後在彈出的文本框寫入主題名字(隨便都可以),點擊OK
4. 再點擊設置窗口左邊的Colors & Fonts下的Fonts,然後在圖中紅框部分的Editor Font的下拉列表選擇你想要的字體,Size可以設置字型大小,這樣就可以設置編輯器的字體啦,編寫代碼時看著更加舒服的字體
5. 再來可以修改控制台的字體,點擊Colors & Fonts下的Console,然後同上述步驟設置字體字型大小,控制台輸出的信息也可以變成你喜歡的字體了
通過上述步驟,大家可以隨意設置Android studio的字體,優秀的字體可以使你在編輯時更加方便查看代碼
❻ Android中常見的單位ppi,dp,dpi,sp,px
在android 開發過程中,我們使用的單位比較少,一般情況下在描述字體大小的時候我們通常用sp,而在設置間距的時候我們用dp,除此之外很少再用到其他單位,而且很多時候我們用著用著就習慣了,也不去探究為什麼這么寫,可不可以用其他單位,每個單位到底代表著什麼意思,所以說,習慣真的很可怕呀。今天,我們就來一探究竟,看看這些單位背後的含義。
像素即是屏幕上顯示數據的最基本的點,在PS裡面也是其最根本的單位,所有的圖形都是在此基礎上生成的,平時我們經常講的手機屏幕解析度就是以像素作為單位的,比如在android中我們經常說的手機像素是1080X1920,其實它所表達的意思是在該手機上面在橫向上面有1080個像素點,在縱向上有1920個像素點。
在android中用來形式字體大小的單位,正常情況下會按照手機系統設置的文本大小來顯示文字,但是同時也會與系統設置的文本保持一致,比如在有些老年機上面為了更好的操作手機有些人會將字體設置為較大字體,這個時候使用sp作為單位的字體也會隨之變大,但是如果將字體大小的單位設置為dp,則不會隨著系統字體的變化而變化。
在每次的手機廠商新品發布會上,我們都會聽到關於手機的介紹,比如手機的屏幕解析度,多大尺寸等等。而當我們知曉一個手機的屏幕分辯率和手機尺寸的時候,就可以計算出手機的物理像素密度,其計算公式為:
需要注意的是,PPI是Android手機物理像素密度,而非在Android開發過程中我們經常說到的像素密度。
屏幕密度與dpi密切相關,dpi是每英寸的點數。也就是說,密度越大,每英寸內容納的點數就越多。
在android.util包下有個DisplayMetrics類可以獲得密度相關的信息。最重要的是densityDpi這個成員,它有如下幾個常用值:
DENSITY_LOW = 120
DENSITY_MEDIUM = 160 //默認值
DENSITY_TV = 213 //TV專用
DENSITY_HIGH = 240
DENSITY_XHIGH = 320
DENSITY_400 = 400
DENSITY_XXHIGH = 480
DENSITY_XXXHIGH = 640
dpi的值主要是通過displayMetrics獲取的,獲取方式為:
val densityDpi = resources.displayMetrics.densityDpi。
dp和dip是一樣的,設備獨立像素,這個和設備硬體有關,不同設備有不同的顯示效果。而通常在做android項目的時候,為了適配市場上面眾多的手機屏幕分辯率,我們一般都會採用dp。dp是Android基於物理設備的PPI抽象出來的一個單位。它是以160dpi的屏幕為基準定義的,在160dpi的屏幕上1dp=1px,那麼由此我們就可以得出其計算公式:
換算公式:1dp = (屏幕ppi/160)px或者是px = (屏幕ppi/160)*1dp。舉個例子:假設ppi = 320,那麼1dp = 2px。
下面我們來演練一下:
如圖所示,手機的屏幕分辯率為1080X1920,尺寸為5寸,從而計算得出PPI的值為440,再通過PPI計算出1dp 約等於3px。假設現在美工給的圖上面有一個a圖標,距離頂部的距離為30px,那麼根據最終我們的換算結果可知,我們設置為10dp就可以達到完美的顯示效果。
❼ android程序中字體大小的單位是什麼
px、dp、dip、sp都可以。px是指定像素,不同解析度下看到的大小不一樣;dp和dip是指定尺寸,不同解析度下看到的大小相同,且字體大小固定,不會隨系統的字體設置變化;sp是字體大小專用的單位,與dp同樣,不同解析度屏幕卡到的大小相同,但是可以隨系統的字體設置自動調整大小
❽ Android 兼容8.0及以上 App全局字體調節、禁止App字體隨系統字體大小而更改
在APP中,字體的大小單位一般會用sp,然而在改變系統字體大小時,App字體就會隨著系統字體大小改變而改變,這就可能造成APP布局的錯位。
造成這種情況的原因是,sp單位除了受屏幕密度影響外,還受到用戶的字體大小影響,通常情況下,建議使用sp來跟隨用戶字體大小設置。除非一些特殊的情況,不想跟隨系統字體變化的,可以使用dp」。按照這么說,布局寬高固定寫死的地方應該統一用dp顯示字體,因為一旦用戶在設置中調大字體,寬高寫死的布局顯示就亂了。
針對這種情況,查找網上的方法也很多,大多是這樣的方法 (重寫 Application 或 BaseActivity 中的方法):
如何有更好的方案,請給與連接或說明
❾ dp、sp、px區別[完整]
做移動設計的同學,不管是原生app或者web app,應該對字體字型大小都是很頭痛的問題。根本原因是,我們用唯一解析度的電腦,設計各個不同尺寸大小解析度的設備,那簡直要瘋掉了。
但不要著急,我們先來理解一下一些名詞:
我們一般會碰到的度量單位主要有:dpi、ppi、dp、sp、px、pt、in。其中,px應該各位最熟悉的單位,也是我們主要使用的photoshop或者axure等工具用的度量單位,而它在移動端時,的確已經「過時」了。但不要著急把它丟掉,因為它是接下來非常重要的換算單位(所有手機參數還是用px在表達)。
dpi和ppi這兩個是密度單位,不是度量單位,而這兩個恰恰是我們換算中重要的分母。簡單理解一下:
ppi (pixels per inch):圖像解析度 (在圖像中,每英寸所包含的像素數目)
dpi (dots per inch): 列印解析度 (每英寸所能列印的點數,即列印精度)
dpi主要應用於輸出,重點是列印設備上。
我們在移動應用中提到ppi和dpi其實都一樣(概念不同,但對設計來講沒有特別需要深入了解),所以我們先忽略掉dpi。而ppi的運算方式是:
PPI = √(長度像素數² + 寬度像素數²) / 屏幕對角線英寸數
舉個簡單的栗子,iphone5的ppi是多少?ppi=√(1136px² + 640px²)/4 in=326ppi(視網膜Retina屏).這樣大家就能夠明白ppi和px的關系。
這里還提到in(英寸)這個詞,這個非常重要,因為現實中我們經常提到4英寸手機或者5.5英寸大屏手機,而這個尺寸是用戶真正感受升並到的物理大小,所有提到不同尺寸的屏幕不僅僅是解析度或者像素,而更多的是英寸。
好,現在關鍵的來了,dp、sp、pt,是我們設計中的關鍵。
dp:Density-independent pixels,以160PPI屏幕為標准,則1dp=1px,dp和陪禪px的換算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。
sp:Scale-independent pixels,它是安卓的字體單位,以160PPI屏幕為標准,當字體大小為 100%時, 1sp=1px。
sp 與 px 的換算公式:sp*ppi/160 = px
是不是看起來dp和sp一樣,在Android設計原則中,有提到這兩個單位,他建議文字的尺寸一律用sp單位,非文字的尺寸一律使用dp單位。例如textSize="16sp"、layout_width="60dp"。
為什麼要把sp和dp代替px?最簡單的原因是他們不會因為ppi的變化而變化,在相同物理尺寸和不同ppi下,他們呈現的高度大小是相同。也就是說更接近物理呈吵亂跡現,而px則不行。
但問題來了,ps或者axure裡面沒有sp或者dp這個選項啊,怎麼辦?看到網上有人說用pt去替換px(pt是物理高度,1in=72pt)。 補充一下自己推算的pt轉換px的公式,不一定對,可以參考:例如9pt,再96dpi下,那麼就是9 * 1/72 * 96 =12px。而在72ppi下,9pt=9px。
我再來做個小小的實驗:
1、先了解清楚你筆記本的ppi,比如我的macbook air是11.6英寸,1366 x 768解析度,那麼它的ppi就是135ppi。
2、然後新建一個頁面,輸入的ppi值就是你電腦的ppi值。我們先來看看不同ppi值在電腦上呈現的字體大小是怎麼樣的:
我用的都是arial 14點 (註:專家指正這里不是px而是pt,點) 的字體,但在320ppi、160ppi、135ppi(我自己的)以及標准72ppi下的大小,截然不同。
好,我們再來看看,在電腦上直接截圖web頁之後對比的效果:
你會驚訝的發現,只有72ppi是正常的,其他字體都不對了,因為原本的web設計是不用考慮dp、sp或者ppi的,它是直接px作為物理單位的,而點在72ppi下(1pt x 1/72 x 72dpi=1px)是正常顯示的。所以我們以前做web的時候根本不用擔心自己的設計在別人電腦上看起來會很大或很小。 當然其實像firefox是用96dpi,也就是9pt=12px。
但我再截一下用iphone訪問web之後的圖:
好吧,這時候,你就發現72ppi是見鬼了,因為這個字體在手機上看到完全地小了,所以做移動設計不要傻乎乎地還用72ppi了,不然你很難判斷效果。(當然你也可以藉助我之前提到的同屏工具來映像到移動設備上查看效果,但這個其實會很麻煩很麻煩很麻煩...)
但是到底是選160ppi還是135ppi呢?如果選了135ppi那在別人的電腦上會怎麼樣呢?是不是又要重新調?其實不用,我借用另外一台Retina的macbook pro做了相同的測試,你會發現,其實和屏幕ppi無關,和你在ps里設定的解析度有關。
[補充,有位專家指出我的不對,就是在點和px上我搞錯了,我又嘗試了一下,如果是px的話,不同ppi下字體大小是不變的,而點(pt)的話會有變化。
並且如果是用pt來代替px的話,為了整除方便,那麼ppi一定要設置成72的倍數,比如144ppi,上圖裡面160ppi則會除不盡,所以上圖其實160ppi的字體還是和截圖字體有些許差異。]
然後有專家提出,iOS下是用pt作為字體單位,而Android是以sp作為字體單位,而且web app還是以px作為字體單位。怎麼樣讓設計和輸出單位是一致的?我之前給出的解決方案並不十分嚴謹易懂,所以我重新編輯了一下。
為了求證移動字型大小的問題,跑了一圈同事,最後只能暫時得出一些「不一定正確」的結論:
1、字型大小行業標准幾乎沒有,不像web一樣,宋體12px、14px這樣很清楚。我唯一找到的只有Android的設計建議:
圖中 原作者 還換算了一下在240ppi下對應的px值。
而我問了一圈同事,基本上現在設定字型大小都是憑感覺做事的。當然你也可以參考Android這個標准。
2、如何在電腦上快速預覽高清內容是否排版合理,我想到最簡單的一點就是縮放psd,縮放的比例很關鍵,要達到物理尺寸,首先你得知道你電腦的解析度,我的解析度是135ppi,如果要看解析度是326的iphone上的效果,就縮小到135/326≈41.4%,你就會發現物理尺寸非常接近。可以看看一些排版上的問題。當然你也可以 裝一些工具 來達到更好的效果。
3、怎麼和開發溝通你的字體大小?我也沒有特別好的辦法,就簡單分成3塊來說:
iOS,你設計的時候字體記得用「點」,然後ps設定解析度用標準的72ppi即可,因為據同事說,這樣下的pt值是准確的,或者說iOS自動會轉換這個值。具體也需要大家操作了才知道。而這個解析度下1pt=1px,我簡單換算了一下sp->px->pt的尺寸:
12sp=24.45px=24.45pt;14sp=28.52px=28.52pt;18sp=36.67px=36.67pt;22sp=44.88px=44.88pt;
但這個小數點實在難受,所以四捨五入取整數,並且為了保證可以整除,那麼可以是24pt、28pt、36pt、44pt。
Android,你就用標准sp就好了,當然其他圖片等尺寸你可以用dp來表述。
Web app,這個我也找不到答案,因為Web app還會涉及到響應式設計,而且前端會用em去表示字體比例。所以同樣,如果你用72ppi解析度做的話,直接可以把對應的字型大小告訴開發就好了,當然最好你所用到的字型大小是倍數關系,最小倍數是0.25,這樣用em去做比例的時候會更容易些。比如12px、16px、24px、32px這樣。
有關字體字型大小的研究已經有同事在做,以後有結論了再和大家分享。
原網址:https://zhuanlan.hu.com/zhezhexiong/19565895
❿ Android 應用的 UI 設計師應當如何如何定義字體的 sp 值
UI設計的效果圖在創建文件時還需要把分宏鋒辨率規范到72像素/英寸,安卓的效果圖一般做兩倍圖,就是720*1280,在解析度為棗搜72的情況下,字體的單位不論是「點」還是「凳絕歷像素」大小是一樣的,如果是24號字那就等於24點,24像素,換算成sp的話就是12sp。如果發現字型大小你做的圖中文字太大或太小,很可能是創建文件時解析度不是72。