繁体   English   中英

Android布局内部视图可保持所有设备的比例

[英]Android layout inner view keep proportions for all devices

我正在实现此Layout

在此处输入图片说明

它包含Background ImagePhone ImagePhone Image内的white view 那将是一个gif animation

这是我的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:id="@+id/image"
    android:background="@drawable/empty_background"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/iphone_background">


<pl.droidsonroids.gif.GifImageView
    android:id="@+id/inner_image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="140dp"
    android:layout_marginTop="240dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />

</RelativeLayout>

Lollipop 5.0上的Nexus 5 ,它看起来还不错,但是每种分辨率下的Inner View (gif)看起来都不同。

任何帮助将是巨大的,谢谢:)

嗯,这需要很好的位计算,您可以使用pixplicity.com并为不同尺寸的屏幕计算不同的dp尺寸。

例如:

如果xhdpi的原始图像尺寸为640 * 480像素,则对于其他图像它将是

长度 :

ldpi @ 320.00dp = 240.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

mdpi @ 320.00dp = 320.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

tvdpi @ 320.00dp = 426.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

hdpi @ 320.00dp = 480.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

xhdpi @ 320.00dp = 640.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

xxhdpi @ 320.00dp = 960.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

xxxhdpi @ 320.00dp = 1280.00px = 320.00sp = 50.80mm = 2.00英寸= 144.00pt

和广度:

ldpi @ 240.00dp = 180.00px = 240.00sp = 38.10mm = 1.50英寸= 108.00pt

mdpi @ 240.00dp = 240.00px = 240.00sp = 38.10mm = 1.50英寸= 108.00pt

tvdpi @ 240.00dp = 319.50px = 240.00sp = 38.10mm = 1.50in = 108.00pt

hdpi @ 240.00dp = 360.00px = 240.00sp = 38.10mm = 1.50英寸= 108.00pt

xhdpi @ 240.00dp = 480.00px = 240.00sp = 38.10mm = 1.50英寸= 108.00pt

xxhdpi @ 240.00dp = 720.00px = 240.00sp = 38.10mm = 1.50英寸= 108.00pt

xxxhdpi @ 240.00dp = 960.00px = 240.00sp = 38.10mm = 1.50英寸= 108.00pt

并且您需要为所有不同的图像保存相同的gif名称,并将它们相应地放置在相应的可绘制文件夹(mdpi,hdpi,xhdpi,xxhdpi)中。

Background Image可以采用match_parent尺寸。
但是,对于Phone ImageGIF Image尝试把每一个单独的LinearLayouts堆叠在一个另一个,并设置layout_width0dplayout_heightwrap_content对于用指定一起layout_weight正确对齐的意见,这可以使你的观点看起来很相似在所有屏幕上。

暂无
暂无

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

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