在所有android设备上具有适当布局的程序

在所有android设备上具有适当布局的程序,android,android-layout,Android,Android Layout,我目前正在编写一个远程控制程序来控制所有android设备上的机器人。 我试图显示布局,以填补不同大小的屏幕完全。我的第一次尝试是在三星10.1'平板电脑上,它工作得很好,但当我把它移植到4.3'等较小的设备上时,布局就出了问题。我正在考虑创建多个布局以匹配不同的屏幕大小,但是如何根据屏幕大小检查要设置的布局? 我已经尝试过getwidth和getheight,但它只有在设置了布局之后才起作用。 请给我一个简短的样本代码,如果可能的话,因为我是非常新的这个 如果还有其他更好的方法,请给我建议 请

我目前正在编写一个远程控制程序来控制所有android设备上的机器人。 我试图显示布局,以填补不同大小的屏幕完全。我的第一次尝试是在三星10.1'平板电脑上,它工作得很好,但当我把它移植到4.3'等较小的设备上时,布局就出了问题。我正在考虑创建多个布局以匹配不同的屏幕大小,但是如何根据屏幕大小检查要设置的布局? 我已经尝试过getwidth和getheight,但它只有在设置了布局之后才起作用。 请给我一个简短的样本代码,如果可能的话,因为我是非常新的这个

如果还有其他更好的方法,请给我建议


请注意,我使用的是API级别8,android 2.2

是一篇关于这方面的好文章。但总的来说,不要期望屏幕是任何静态大小。但是,如果您决定为每种尺寸创建布局,您不必担心选择最佳布局,如果您提供同一布局的多个版本,android将为您做到这一点。

这是一篇很好的文章。但总的来说,不要期望屏幕是任何静态大小。但是,如果您决定为每个尺寸创建布局,您不必担心选择最佳布局,如果您提供同一布局的多个版本,android将为您提供该布局。

您不必检查屏幕尺寸。只需创建您的布局,Android将根据您的屏幕大小、方向、API级别等自动选择正确的布局。有关更多详细信息,请参见此处:

您无需检查屏幕尺寸。只需创建您的布局,Android将根据您的屏幕大小、方向、API级别等自动选择正确的布局。有关更多详细信息,请参见此处:

浏览并查看。基本上,您可以为各种屏幕创建布局,每个屏幕都有相同的名称。它们被放在不同的文件夹中(每个文件夹的命名依据的因素有:横向、纵向、屏幕密度和屏幕大小)。操作系统将自行决定使用哪种布局。

仔细检查并确定。基本上,您可以为各种屏幕创建布局,每个屏幕都有相同的名称。它们被放在不同的文件夹中(每个文件夹的命名依据的因素有:横向、纵向、屏幕密度和屏幕大小)。操作系统将自行决定使用哪种布局。

很抱歉,您能详细说明一下吗?android如何选择最合适的布局?我该怎么做才能实现呢?假设您使用XML编辑器创建布局,那么可以选择为每个屏幕密度创建布局。它将为每个布局创建新的XML文件,就像为位图创建的一样,以支持每个屏幕密度(对于低密度、中密度和高密度),Android将根据屏幕密度对其进行更改。Android用于选择最佳布局(或任何资源)的过程这里描述的是:对不起,你能详细说明一下吗?android如何选择最合适的布局?我该怎么做才能实现呢?假设您使用XML编辑器创建布局,那么可以选择为每个屏幕密度创建布局。它将为每个布局创建新的XML文件,就像它为位图所做的那样,以支持每个屏幕密度(对于低密度、中密度和高密度),Android将根据屏幕密度对其进行更改。Android用于选择最佳布局(或任何资源)的过程如下所述:如果我使用此选项,请使用setContentView(R.layout.main);我的文件夹名为layout,xml名为main。你的意思是我为不同的屏幕大小创建不同的布局,称为“main.xml”,但将其放在名为“layoutlagle”或“layoutlagle”的文件夹中?如果是这样,我必须编辑setContentView吗?是的,有点。命名约定不同,类似于“layout xlarge”。请参考链接。示例-res/layout/my_layout.xml//layout了解正常屏幕大小(“默认值”)res/layout small/my_layout.xml//layout for small screen size res/layout large/my_layout.xml//layout for large screen size res/layout xlarge land/my_layout.xml//layout for the small screen size res/layout xlarge land/my_layou layout.xml//layout for extra screen.好的,谢谢。不过要确保最后一件事,因为它不是一在链接中,对于“setContentView(R.layout.main)”,我是否必须更改文件夹和xml文件的名称?或者我只是将其用作标准名称,android将为我进行更改?从每个布局(id、drawable、菜单等),Android创建一个常量。R.layout.main引用的就是这个常量。所有同名的布局都有相同的常量值。基本上,Android会处理它。如果我使用这个,setContentView(R.layout.main);我的文件夹名为layout,xml名为main。你的意思是我为不同的屏幕大小创建不同的布局,称为“main.xml”,但将其放在名为“layoutlarge”或“layoutsmall”的文件夹中?如果是,我必须编辑setContentView吗?是的,有点。命名约定不同,类似于“layout xlarge”。请参考链接。示例-res/layout/my_layout.xml//layout了解正常屏幕大小(“默认值”)res/layout small/my_layout.xml//layout for small screen size res/layout large/my_layout.xml//layout for large screen size res/layout xlarge land/my_layout.xml//layout for the small screen size res/layout xlarge land/my_layou layout.xml//layout for extra screen.好的,谢谢。不过要确保最后一件事,因为它不是一在链接中,对于“setContentView(R.layout.main)”,我是否必须更改文件夹和xml文件的名称?或者我只是将其用作标准名称,android将为我进行更改?从每个布局(id、drawable、菜单等),Android创建了一个常量。就是这个常量被R.layout.main引用。所有同名的布局都有相同的常量值。基本上,Android会处理它。