我设置字体大小为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中。 –