繁体   English   中英

如何为Galaxy S3和Nexus 7创建不同的布局?

[英]How to create different layout for Galaxy S3 and Nexus 7?

我已经创建了一个适用于nexus 7的android应用程序。在资源文件夹里面,我为Nexus 7“tab创建了两个文件夹, layoutlayout-land 。一切都工作正常,直到日期。现在我想创建一个不同的布局三星Galaxy S3。为此,我在资源中创建了一个文件夹,其中包含layout-largelayout-large-land 。但是,这就是问题。现在,对于Nexus 7, layout-large文件夹中定义的layout-large也会被加载如何阻止?如何为Nexus 7“tab&Galaxy S3 mobile创建不同的布局? 我已阅读支持多屏幕文档。 但我无法理解,因为Nexus 7的屏幕尺寸为1204 X 800,而三星Galaxy S3的屏幕尺寸为720 X 1280。

如何为具有不同屏幕分辨率和显示尺寸的不同设备创建不同的布局? 此外,根据设备大小,我想在我的应用程序中更改几个值。 怎么做那个?

根据支持多个屏幕 在此输入图像描述

smallnormal Screen Sizeslarge Screen Sizesxlargexlarge适用于Screen Sizes ,这意味着如果您提供,Nexus 7将使用具有large限定符的资源。 因此,在使用large限定符创建文件夹之前,Nexus 7将从默认布局文件夹加载资源。 至于ldpimdpihdpixhdpi用于屏幕密度。

要解决您的问题,您需要:

  1. 将Galaxy S3的布局定义放入布局,并将Nexus 7的布局定义为sw600dp。请参阅Android开发人员博客: 为Jelly Bean和Nexus 7准备好应用程序

  2. 将Galaxy S3的资源(图像或可绘制的东西)放入drawable-xhdpi,以及用于Nexus 7的drawable-tvdpi或drawable-hdpi。

希望它可以帮助你,如果你有任何其他问题请告诉我:)

以下是一些有用的参考:

什么布局适合720x1280 Android设备?

屏幕宽度限定符

你需要一个xlarge和xlarge-land

或者您可以通过调用以编程方式执行:

Display displayparm= activity.getWindowManager().getDefaultDisplay();
int width= displayparm.getWidth();
int Height= displayparm.getHeight();

并从此信息中选择布局

您可以通过在res文件夹下添加新文件夹作为layout-xlargelayout-xlarge-large来创建布局,并且你必须更新android清单文件以支持更高的分辨率

我开发了一个应用程序,我支持具有不同分辨率和密度的多个设备。 nexus 7和galaxy s3也是其中之一。 如果您的项目中有layout-large文件夹,galaxy s3和nexus7显然会从大屏幕文件夹中获取。 但是,Galaxy s3属于大型hdpi类别,而nexus7则属于大型类别。 因此,如果你分别为s3和nexus7设置了layout-large-hdpi和layout-large-tvdpi,那将会非常有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM