我有一个屏幕分辨率为1280 * 720像素的Micromax AQ5000和分辨率为720 x 1280像素的摩托罗拉Moto G XT1033。我有一个名为layout-sw360dp的布局文件夹,我为三星s4,s3,Micromax帆布等设备设计等,但这个摩托罗拉设备也使用相同的布局,这会创建显示为扭曲的图像。
如何为小型设备创建文件夹(Moto g)我尝试过layout-xhdpi,但它不起作用我如何命名高度和宽度的布局。
答案 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文件夹中创建几个文件夹,如下所示
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值,现在你的布局晃动