如何使我们的布局适应Android中的屏幕设备?

时间:2015-08-11 06:54:34

标签: android android-layout text widget drawable

我已经完成了我的中画面布局(我认为5英寸),但是我在为大屏幕和大屏幕调整我的可绘制,按钮和文字方面遇到了麻烦。我怎样才能适应它们?请一步一步地告诉我,因为我觉得很难从许多不同的资源和人那里获得许多资源。谢谢。

2 个答案:

答案 0 :(得分:1)

首先,我强烈建议您浏览How to support multiple screen in AndroidSupporting 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

  • 布局sw320dp
  • 布局sw480dp
  • 布局sw600dp
  • 布局sw720dp

您的项目中的资源结构将如下所示

enter image description here

结束我的回答,为了支持多屏幕支持,有不同的方式,你需要在其中找到更好的方法。

以下是您可以尝试的一些方法!

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

答案 1 :(得分:0)

您必须针对不同的屏幕尺寸更改图像的大小。 Android会根据屏幕大小自动获取图像。

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

您可以使用在线工具获取不同尺寸的图像。将正确的图像放在不同的文件夹中,它将正常工作。

检查此链接以获取更多信息: http://developer.android.com/guide/practices/screens_support.html