不同高度的Android设备采用相同的布局文件夹

我有一个分辨率为1280 * 720像素的Micromax AQ5000和分辨率为720 x 1280像素的Motorola Moto G XT1033。我有一个名为layout-sw360dp的布局文件夹,这个文件夹是为三星s4,s3,Micromax等设备devise的,但是这个摩托罗拉设备也使用相同的布局,这将创build显示为扭曲的图像。

我怎样才能创build一个文件夹的小设备(摩托g)我试过layout-xhdpi,但它不起作用,我如何命名与高度和宽度的布局。

那么你是正确的在某种意义上,android应该根据不同的密度进行布局,但是某些移动并不属于特定的密度。 因此,android会从布局目录中选取默认布局。

为了支持多种屏幕分辨率,针对不同的屏幕尺寸提供不同的布局,可以在res目录中制作如下目录

layout-hdpi layout-mdpi layout-xhdpi layout-xxhdpi layout-w320dp-h408dp layout-w480dp-h800dp layout-w480dp-h854dp layout-w720dp-h1280dp layout-w1080dp-h1920dp 

当您在所有这些目录中提供布局时,您将为不同尺寸的多个屏幕支持以及layout-w1440dp-h2560dp

使用“dip”代替他们将帮助您debugging您的布局,因为他们将尝试保持连贯的大小,以多个屏幕分辨率,

 <ImageView android:id="@+id/avtar_animation_11" android:layout_width="45dip" android:layout_height="45dip" android:src="@drawable/avtar011"/> 

同时支持多个屏幕,当你给“dp”尺寸,其实android会期望你提供不同的屏幕分辨率的不同值。 下面说的是你的imagview尺寸在你的android项目中的res文件夹中制作几个文件夹如下所示

在这里输入图像描述

 values-hdpi, values-mdpi, values-ldpi, values-xhdpi, values-xxhdpi 

并在他们中的每一个做一个dimens.xml文件并写入

 <dimen name="image_view_width">28dp</dimen> <dimen name="image_view_height">28dp</dimen> 

现在我已经提到了“dp”,而不是dip dip android要我为不同的屏幕分辨率不同的尺寸跟踪,所以我将改变image_view_width和image_view_height值在位于dimens.xml的单独值文件夹中。 确保您的dp值根据您希望视图适合的屏幕分辨率进行更改。

  <ImageView android:id="@+id/avtar_animation_11" android:layout_width="@dimen/image_view_width" android:layout_height="@dimen/image_view_height" android:src="@drawable/avtar011"/> 

困难的一部分已经结束现在android会根据您的应用程序正在运行的屏幕select一个dimens.xml值,现在你的布局岩石