Android:支持8英寸和7英寸屏幕的屏幕大小

Android:支持8英寸和7英寸屏幕的屏幕大小,android,android-layout,android-screen-support,Android,Android Layout,Android Screen Support,我最近有一个问题无法解决 我在三星Galaxy Note 8.0中运行了一个简单的平板电脑应用程序。。我已将布局设置为在某个位置放置一些文本视图。。我用xml编码,dp表示边距,sp表示文本大小。宽度和高度布局设置为wrapcontent。但当我在朋友三星Galaxy Tab 2 7.0中运行它时,它的布局与我在设备中看到的不匹配。当我尝试在10英寸模拟器中运行它时,也会发生同样的情况 我已将layout-sw600dp用于我的布局文件夹 为什么我的屏幕布局是这样的?我想通过使用layout-s

我最近有一个问题无法解决

我在三星Galaxy Note 8.0中运行了一个简单的平板电脑应用程序。。我已将布局设置为在某个位置放置一些文本视图。。我用xml编码,dp表示边距,sp表示文本大小。宽度和高度布局设置为wrapcontent。但当我在朋友三星Galaxy Tab 2 7.0中运行它时,它的布局与我在设备中看到的不匹配。当我尝试在10英寸模拟器中运行它时,也会发生同样的情况

我已将layout-sw600dp用于我的布局文件夹

为什么我的屏幕布局是这样的?我想通过使用layout-sw600dp,布局应该可以自我调整。。还是我错了

我已经阅读了关于不同屏幕尺寸支持的android文档,到目前为止,我发现使用layout-sw600dp是一个很好的解决方案

我已使用以下方法检查了设备dpi:

Display display = getWindowManager().getDefaultDisplay();
           DisplayMetrics outMetrics = new DisplayMetrics ();
            display.getMetrics(outMetrics);

            float density  = getResources().getDisplayMetrics().density;
            float dpHeight = outMetrics.heightPixels / density;
            float dpWidth  = outMetrics.widthPixels / density;

每个设备都有不同的像素比率、不同的dpi、不同的屏幕大小等等。转到此链接,阅读它,您将知道如何管理不同的设备布局


如果你想在应用程序启动时检查屏幕英寸大小,你可以用以下两种方法计算英寸,但我认为第二种方法更精确

public static float getScreenInchSizeByDensityDpi(Context context) {
    DisplayMetrics dm = context.getResources().getDisplayMetrics();
    double x = Math.pow((double)dm.widthPixels / (double)dm.densityDpi, 2);
    double y = Math.pow((double)dm.heightPixels / (double)dm.densityDpi, 2);
    double screenInches = Math.sqrt(x + y);

    return (float) screenInches;
}

public static float getScreenInchSizeByXYDpi(Context context) {
    DisplayMetrics dm = context.getResources().getDisplayMetrics();
    double x = Math.pow((double)dm.widthPixels / (double)dm.xdpi, 2);
    double y = Math.pow((double)dm.heightPixels / (double)dm.ydpi, 2);
    double screenInches = Math.sqrt(x + y);

    return (float) screenInches;
}

我已经读了好几遍了。。我的理解是,我需要为不同的尺寸提供不同的布局。。但是我真的需要为7英寸和8英寸的屏幕提供不同的布局吗?在我的xml中,我使用100dp的布局_边距(例如)@iwalyfa-一切都很重要,检查设备的dpi,,。如果它们不同,那么你需要不同的布局文件夹,检查像素比率,当涉及到android布局时,一切都很重要。我已经编辑了我的帖子。。我已经检查了设备的dpi。。在我的情况下,我需要不同的布局吗?当我考虑这个问题时,这意味着我需要为不同的屏幕尺寸提供大量的布局。是的,这实际上是一个令人头痛的问题,许多7英寸设备可能有不同的dpi,所以布局会发生变化,试着为那些你认为你的应用程序可以工作的设备制作一些布局文件夹,。如果您反编译流行应用程序,您将看到我看到的许多布局文件夹。。谢谢你的建议。。我想我至少要为不同的屏幕尺寸做一些布局。。最后一个问题,是否使许多布局使应用程序变得更慢?