Android 单独的1024宽设备

Android 单独的1024宽设备,android,android-layout,screen-resolution,Android,Android Layout,Screen Resolution,我正在开发一个Android应用程序,它给我的设备带来了问题,这些设备的宽度尺寸为1024。我尝试过创建一个布局文件夹layout-w1024和layout-mdpi-sw1024dp;但该设备使用布局mdpi文件夹代替。我使用15作为最低安卓版本 有没有其他方法可以用来分离1024个设备?如果适合您的项目,您可以通过编程来实现,类似这样的方法会根据屏幕的尺寸调用不同的布局。但是,这有一些限制,因为它只能从活动中调用(在您的情况下,这不应该是一个问题),并且如果您的应用程序中的所有布局都有问题,

我正在开发一个Android应用程序,它给我的设备带来了问题,这些设备的宽度尺寸为1024。我尝试过创建一个布局文件夹layout-w1024和layout-mdpi-sw1024dp;但该设备使用布局mdpi文件夹代替。我使用15作为最低安卓版本


有没有其他方法可以用来分离1024个设备?

如果适合您的项目,您可以通过编程来实现,类似这样的方法会根据屏幕的尺寸调用不同的布局。但是,这有一些限制,因为它只能从活动中调用(在您的情况下,这不应该是一个问题),并且如果您的应用程序中的所有布局都有问题,那么它可能不是非常可伸缩的

有条件的
width==1024
可能应该替换为大于或更具体的值,您需要使用它一段时间才能使其工作。你还应该考虑屏幕的高度,而不仅仅是宽度

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
或者,如果希望以像素为单位:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
然后:

//Depending on the width, set one layout or anotherone
setContentView(width == 1024?R.layout.for1024:R.layout.normal);

该设备是1024乘。。。?mdpi平板电脑布局文件夹的正确名称是布局swXYZdp mdpi,其中XYZ是最小宽度(因此:1024*600=>XYZ是600,而不是1024)。我有一个带有sw600dp mdpi和sw768dp mdpi的文件夹;但是布局文件仍然取自布局mdpi文件夹。我不知道为什么会发生这种情况。你有没有尝试过陆路和港口的变化?因为我的默认设置是-port(因此如果找不到它,它将默认为mdpi文件夹),而我猜您主要使用的是陆上定向。是的,我使用的是横向。实际上,我完整的文件夹名是layout-sw600dp-land-mdpi和layout-sw768dp-land-mdpi。尽管这很符合设备的描述,但布局仍然不是从这些文件夹中获取的。真的很有趣。所以,我最后的办法是,按照android开发者的话:
甚至将wdp和hdp限定符结合起来
类似于:
layout-w1024dp-h600dp-mdpi-land
。h=768也是一样,我刚试过这个代码,大小是455而不是1024?我需要做一些计算吗?对不起,我对这一切都不熟悉。