Android: 文字大小设置为所有分辨率
Android: Text size set to all resolution
我将 TextView 的字体大小设置为 15dp
此字体标准适用于移动分辨率,但平板电脑不标准
手机版:i.stack.imgur.com/zqNmw.png
平板电脑版本:i.stack.imgur.com/KQFOV.png
我想要这个平板电脑版本:i.stack.imgur.com/KHaPP.png
我想要分辨率的字体大小比例
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.
建议对文本使用 sp 单位,因为在 ICS 及更高版本中(也可能是 Honeycomb,如果我错了请纠正我),用户的字体大小有偏好。因此,如果您使用的是 Gingerbread 或更低版本,您将无法找到此设置。
首选项位于“设置”、“显示”、“字体大小”下。在“设置”、“辅助功能”、“大文本”下也有一个选项。
简而言之 shell:始终以 sp 而不是 dp 给出文本大小
您可能应该详细了解 android 尺码单位及其差异。
dp
是与密度无关的像素。使用它而不是普通像素是因为 android 设备具有不同的屏幕密度或点距。例如对于 50px x 50px 的正方形,当屏幕密度高时,它会显得更小。那么如何预防呢?使用DP!它确保无论屏幕密度如何,事物始终以相同的实际尺寸显示。
sp
是比例相关像素。当您处理文本时,这通常是首选。当屏幕变大时,您希望文本变大,对吗?那就用sp吧!它确保文本大小在屏幕尺寸变大时变大。
对于 tl;dr,只需对文本使用 SP!
我将 TextView 的字体大小设置为 15dp
此字体标准适用于移动分辨率,但平板电脑不标准
手机版:i.stack.imgur.com/zqNmw.png
平板电脑版本:i.stack.imgur.com/KQFOV.png
我想要这个平板电脑版本:i.stack.imgur.com/KHaPP.png
我想要分辨率的字体大小比例
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.
建议对文本使用 sp 单位,因为在 ICS 及更高版本中(也可能是 Honeycomb,如果我错了请纠正我),用户的字体大小有偏好。因此,如果您使用的是 Gingerbread 或更低版本,您将无法找到此设置。
首选项位于“设置”、“显示”、“字体大小”下。在“设置”、“辅助功能”、“大文本”下也有一个选项。
简而言之 shell:始终以 sp 而不是 dp 给出文本大小
您可能应该详细了解 android 尺码单位及其差异。
dp
是与密度无关的像素。使用它而不是普通像素是因为 android 设备具有不同的屏幕密度或点距。例如对于 50px x 50px 的正方形,当屏幕密度高时,它会显得更小。那么如何预防呢?使用DP!它确保无论屏幕密度如何,事物始终以相同的实际尺寸显示。sp
是比例相关像素。当您处理文本时,这通常是首选。当屏幕变大时,您希望文本变大,对吗?那就用sp吧!它确保文本大小在屏幕尺寸变大时变大。
对于 tl;dr,只需对文本使用 SP!