多屏支持我们需要为每个屏幕设置不同的布局

时间:2011-09-14 09:35:37

标签: android screen

对于多屏支持,我们需要为hdpi,ldpi和mdpi文件夹中的每个屏幕设置不同的布局,我在android网站上阅读,但不知道如何实现这个。

由于 最大

4 个答案:

答案 0 :(得分:3)

以下是应用程序中的资源目录列表,它为不同的屏幕尺寸提供不同的布局设计,为中,高和超高密度屏幕提供不同的位图可绘制。

res/layout/my_layout.xml             // layout for normal screen size ("default")
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/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

此信息已在Android开发者网站上提供:http://developer.android.com/guide/practices/screens_support.html

替代drawables =>屏幕密度:

enter image description here

答案 1 :(得分:2)

屏幕分辨率(屏幕密度)确实会影响组件的外观。要支持不同的屏幕密度,与Ash提供的解决方案类似,请使用以下文件夹:

  • res / values-ldpi用于低密度(ldpi)屏幕(~120dpi)
  • res / values-mdpi用于中密度(mdpi)屏幕(~160dpi)
  • res / values-hdpi用于高密度(hdpi)屏幕(~240dpi)
  • res / values-xhdpi用于超高密度(xhdpi)屏幕(~320dpi)
  • res / values-nodpi for all

答案 2 :(得分:0)

假设您在layout文件夹中有一个默认的,美观的布局。在大多数情况下,Android将能够正确调整它。在我的实践中,只有大屏幕需要新的布局参数。

为避免布局重复,我们使用以下布局结构:

res/layout/foo.xml                      -- layout file
res/values/foo_styles_default.xml       -- default styles (component sizes, margins, etc.)
res/values-large/foo_styles_large.xml   -- styles for large screen
res/values-xlarge/foo_styles_xlarge.xml -- styles for very large screen

'foo.xml'布局中与屏幕尺寸相关的参数是通过'style'属性设置的,因此我们可以避免创建多个布局文件。

答案 3 :(得分:0)

根据我的观察,大多数屏幕将适用于不同的屏幕尺寸。请测试不同屏幕尺寸的应用程序,如果您发现问题而不是在特定文件夹中放置布局,如上所述。