Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何支持正常dp的大屏幕尺寸?_Android - Fatal编程技术网

Android 如何支持正常dp的大屏幕尺寸?

Android 如何支持正常dp的大屏幕尺寸?,android,Android,我正在尝试在我的Android应用程序中支持多个屏幕大小。我使用AVD管理器创建各种屏幕大小。其中之一是400x800大小的MDPI。由于屏幕大小大于常见的MDPI屏幕大小(320x480),因此在该模拟器中文本大小看起来更小。我尝试在该文件夹中创建一个新的限定符,values large,并设置更大的文本大小(dimens.xml),但失败了(emulator仍然使用values文件夹中指定的dimens) 我知道我们可以指定最小屏幕宽度,例如值-sw600dp,但是我如何知道该设备的dp(4

我正在尝试在我的Android应用程序中支持多个屏幕大小。我使用AVD管理器创建各种屏幕大小。其中之一是400x800大小的MDPI。由于屏幕大小大于常见的MDPI屏幕大小(320x480),因此在该模拟器中文本大小看起来更小。我尝试在该文件夹中创建一个新的限定符,values large,并设置更大的文本大小(dimens.xml),但失败了(emulator仍然使用values文件夹中指定的dimens)

我知道我们可以指定最小屏幕宽度,例如值-sw600dp,但是我如何知道该设备的dp(400x800大小-mdpi)?有人能帮我吗?非常感谢

您可以使用
Log.d(“Denisity”,String.valueOf(getApplicationContext().getResources().getDisplayMetrics().density))
要知道设备的密度(如果有),该值将作为

以下: 0.75表示低密度

1.0表示中层密度

1.5表示高密度

2.0表示超高密度


然后您可以使用if语句,如果设备具有mdpi大小,并且具有该密度,请更改文本大小。

据我所知,如果您在xml文件中使用dip值,那么您将支持每个屏幕大小。

实际上,我需要的是如何知道在具有正常dpi的大屏幕上使用的正确dp,因为它不属于sw-600dp。我需要限定符的名称。无论如何,谢谢你。