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

时间:2015-03-13 06:04:50

标签: android layout

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

如何为小型设备创建文件夹(Moto g)我尝试过layout-xhdpi,但它不起作用我如何命名高度和宽度的布局。

1 个答案:

答案 0 :(得分:20)

嗯,你在某种意义上是正确的,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

当您在所有这些目录中提供布局时,您将为不同大小提供多屏幕支持     布局w1440dp-h2560dp

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

<ImageView
            android:id="@+id/avtar_animation_11"
            android:layout_width="45dip"
            android:layout_height="45dip"
            android:src="@drawable/avtar011"/>
当你给尺寸提供“dp”时,支持多个屏幕的同时,实际上android希望你为不同的屏幕分辨率提供不同的值。让我们说下面是你的想象维度在你的android项目中的res文件夹中创建几个文件夹,如下所示

enter image description here

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 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将根据你的应用程序运行的屏幕选择一个dimens.xml值,现在你的布局晃动