我正在尝试在我的Android应用中支持多种屏幕尺寸。我使用AVD管理器创建各种屏幕尺寸。其中一个是400x800大小的MDPI。由于屏幕大小大于常见的MDPI屏幕大小(320x480),因此此仿真器中的文本大小看起来较小。我尝试创建一个新的限定符,values-large,并在该文件夹中设置更大的文本大小(dimens.xml),但它失败了(模拟器仍然使用values文件夹中指定的维度)。
我知道我们可以指定最小屏幕宽度,例如values-sw600dp,但我怎么知道该设备的dp(400x800大小 - mdpi)?有人可以帮我这个吗?非常感谢!
答案 0 :(得分:2)
Log.d("Denisity",String.valueOf(getApplicationContext().getResources().getDisplayMetrics().density));
知道设备的密度,如果你有,它的值将是
以下: 0.75意味着低密度。
1.0表示中密度。
1.5意味着高密度。
2.0意味着超高密度。
然后您可以使用if语句,如果设备具有该密度的mdpi大小,则更改文本大小。
答案 1 :(得分:0)
据我所知,如果你在xml文件中使用dip值而不是支持每个屏幕大小