2012-03-05 87 views
1

我目前正在编写一个远程控制程序来控制所有Android设备上的机器人。 我试图显示布局以充分填充不同大小的屏幕。我第一次尝试使用三星10.1平板电脑,它运行良好,但是当我将它移植到4.3英寸的较小设备时,布局出错。我正在考虑创建几种布局以适应不同的屏幕尺寸,但是如何根据屏幕尺寸检查要设置的布局? 我已经尝试getwidth和getheight,但它只适用于你设置布局。 如果可能,请给我一个简短的示例代码,因为我对此很新。在所有设备上都有适当布局的程序android

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

请注意,我使用API​​级别8,android 2.2。

回答

1

经过thisthis。基本上,您可以为各种屏幕创建布局,每个屏幕都有相同的名称。它们被放置在不同的文件夹中(每个文件夹根据风景,人像,屏幕密度和屏幕大小等因素命名)。 OS将自行决定使用哪种布局。

+0

如果我使用这个,setContentView( R.layout.main); 我的文件夹名称是布局,xml被称为main。 您的意思是我为称为“main.xml”的不同屏幕尺寸创建了不同的布局,但将它放在名为“layoutlarge”或“layoutsmall”的文件夹中?如果是这样,我必须编辑setContentView? – 2012-03-05 07:43:43

+0

是的,那种。命名约定是不同的,比如“layout-xlarge”。请参阅链接。 例 - RES /布局/ my_layout.xml //适用布局正常屏幕尺寸( “默认”) RES /布局小/ my_layout.xml //适用布局小屏幕尺寸 RES /布局大/ my_layout.xml //适用于布局大尺寸屏幕 RES /布局XLARGE/my_layout.xml //适用于布局超大屏幕尺寸 RES /布局XLARGE土地/ my_layout.xml 同样为可绘制。 – gandharva 2012-03-05 07:57:51

+0

好的谢谢。但为了确保链接中未提及的最后一件事,对于“setContentView(R.layout.main)”,我必须更改文件夹和xml文件的名称吗?或者我只是使用这个作为标准的一个和Android会做我的变化? – 2012-03-05 08:34:49

0

This是一个很棒的文章。但总的来说,永远不要期望屏幕是任何静态大小。但是,如果您决定为每种尺寸创建布局,则不必担心选择最佳布局,如果您提供相同布局的多个版本,则android会为您执行此操作。

+0

对不起,但您能详细说明吗? Android如何选择最合适的布局?我必须做些什么才能发生? – 2012-03-05 07:39:44

+0

假设您使用XML编辑器创建布局,可以选择为每个屏幕密度创建布局。它将为每个布局创建新的XML文件,就像它为位图所做的一样,以支持每种屏幕密度(对于低密度,中等密度和高密度),Android会根据屏幕密度对它们进行更改。 – Ruuhkis 2012-03-05 07:44:37

+1

Android用于选择最佳布局(或任何资源)的过程如下所述:http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch – Sparky 2012-03-05 08:35:17

相关问题