android 如何让我们的布局适应我们的屏幕设备?

How to make our layout adapt with our screen devices in android?

我已经完成了中型屏幕(我认为是 5 英寸)的布局,但是我在为大屏幕和超大屏幕调整可绘制对象、按钮和文本时遇到了麻烦。我该如何适应它们?请一步一步地告诉我,因为我很难理解我从许多不同的资源和人那里获得的许多资源。谢谢。

您必须针对不同的屏幕尺寸更改图像的尺寸。 Android 根据屏幕尺寸自动拍摄图像。

的图像大小
ldpi is 36px * 36px
mdpi is 48px * 48px
hdpi is 72px * 72px
xhdpi is 96px * 96px 
xxhdpi is 144px * 144px

您可以使用在线工具获取不同大小的图像。将适当的图像放在不同的文件夹中它会正常工作。

查看此 link 了解更多信息: http://developer.android.com/guide/practices/screens_support.html

首先,我强烈建议您阅读 How to support multiple screen in Android and Supporting Different Screen Sizes

的 android 开发人员文档

针对您的问题,对于不同的屏幕尺寸,以下是一个应用程序中的资源目录列表,该应用程序为不同的屏幕尺寸提供不同的布局设计,并为小、中、高和超高密度提供不同的位图可绘制对象屏幕。您可以在 res 文件夹中使用不同大小的布局文件,也可以根据密度对可绘制图像进行更改..

  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

您可以使用以下资源文件夹为屏幕较大的设备创建布局:(api 级别大于 3.1 - 提到 here

  • layout-sw320dp
  • layout-sw480dp
  • layout-sw600dp
  • layout-sw720dp

你的项目中的资源结构将是这样的

得出我的答案的结论,支持多屏支持有不同的方法,你需要在其中找到更好的方法。

这里有一些你可以尝试的方法!!

  1. 尝试在项目中创建不同的值文件夹,而不是不同的布局文件夹,并将 dimens.xml 文件夹放入其中,并将所有维度值放在那里。这是我的 answer
  2. 按照上述答案创建布局文件夹并保留 这些文件夹中的相应 xml 个文件。它自动取自 各个设备的各个文件夹(例如;它将加载 xml 7 英寸平板电脑的 layout-sw<600> 文件夹中的资源)在这里你可以得到这个
  3. 以编程方式区分不同组的布局文件 设备(有点困难的方法,但有效)这里是