我設置字體大小爲15dp TextView的安卓:文字大小設置爲全分辨率
這種字體標準分辨率手機但對於平板電腦沒有標準
手機版:i.stack.imgur.com/zqNmw png格式
平板版本:i.stack.imgur.com/KQFOV.png
我想平板電腦這個版本:i.stack.imgur.com/KHaPP.png
我想字體建議使用SP單元分辨率
我設置字體大小爲15dp TextView的安卓:文字大小設置爲全分辨率
這種字體標準分辨率手機但對於平板電腦沒有標準
手機版:i.stack.imgur.com/zqNmw png格式
平板版本:i.stack.imgur.com/KQFOV.png
我想平板電腦這個版本:i.stack.imgur.com/KHaPP.png
我想字體建議使用SP單元分辨率
你或許應該詳細瞭解Android大小單位和他們之間的分歧。
dp
是密度獨立像素。這是用來代替普通像素,因爲android設備有不同的屏幕密度或點距。例如對於50像素×50像素的正方形,當屏幕密度很高時,它會顯得更小。那麼如何預防呢?使用dp!它確保無論屏幕密度如何,該東西總是以相同的實際大小出現。sp
是比例依賴像素。當你處理文本時,這通常是首選。當屏幕較大時,您希望文字更大,對嗎?然後使用sp!它確保了屏幕尺寸越大,文字大小越大。對於TL;博士,只需使用SP FOR TEXT!
int heightPixels, width, height;
float scaleFactor, heightDp, DiffheightDp;
WindowManager windowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
width = windowManager.getDefaultDisplay().getWidth();
height = windowManager.getDefaultDisplay().getHeight();
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
heightPixels = metrics.heightPixels;
scaleFactor = metrics.density;
heightDp = heightPixels/scaleFactor;
if(height > width){
DiffheightDp = 592.0;
}else{
DiffheightDp = 360.0
}
textView.setTextSize((float) ((15.0/DiffheightDp) * heightDp));
//15.0 is size you want.
你應該更多地解釋你的代碼。不鼓勵使用純代碼的答案。 – Sweeper
的大小比爲文本,因爲在ICS以上(可能是太蜂窩,糾正我,如果我錯了),對於用戶的字體大小的偏好。所以,如果你使用的是薑餅或更低,你將無法找到這個設置。
首選項在設置,顯示,字體大小下。在「設置」,「輔助功能」,「大文本」下也有一個選項。
在堅果殼:總是給人以SP文本大小不是DP
'我把字體大小設置爲15dp'這是**錯誤**字體大小必須在** sp **中給出,而不是在dp中。 –