我已经阅读了10篇文章,但仍然无法找到ldpi,mdpi,hdpi和像素的实际尺寸之间的任何关系!?任何人都可以给出一个简单的答案(如果有的话!)
我基本上试图整理一个需要在多个设备上工作而不会拉伸的启动画面 - 但是我正在努力,因为我尝试的一切都要么被压扁或拉伸!?
干杯保罗
Eit*_*tan 76
ldpi,mdpi和hdpi指的是屏幕密度,这意味着可以在一英寸内容纳多少像素.
它们之间的像素比例为:
所以我们拍摄大小为100X100的图像:
这样,对于具有相同尺寸但不同DPI的屏幕,所有图像在屏幕上看起来都相同.
此外,您有多种屏幕尺寸类型小,普通,大,xlarge,其中每一个都可以是ldpi,mdpi,hdpi,xhdpi,xxhdpi(Nexus 10)或xxxhdpi.
您可以尝试创建适合每种屏幕类型的闪屏图像,它可以为您提供4*5 = 20个不同的图像(对我来说似乎很有用).
目前只有Nexus 10属于xxhdpi类别.
Pet*_*ter 24
安装ImageMagick并使用此shell脚本为多个设备生成启动和图标文件 - iOS,Android,Bada和Windows Phone.如果你在Windows上,你可以使用cygwin/gitbash
我刚刚做了,我很高兴它:-)
屏幕尺寸在剧本内部,并且 -
480x800 - screen-hdpi-portrait.png
320x200 - screen-ldpi-landscape.png
720x1280 - screen-xhdpi-portrait.png
320x480 - screen-mdpi-portrait.png
480x320 - screen-mdpi-landscape.png
200x320 - screen-ldpi-portrait.png
800x480 - screen-hdpi-landscape.png
Run Code Online (Sandbox Code Playgroud)
定义是:
另外,请查看Dianne Hackborne的这篇博文:http: //android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html
可能最简单的方法是使用图像视图并将scaletype设置为CENTER_CROP.(均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或大于视图的相应尺寸.
确保使用src标记而不是设置背景.
<ImageView
android:id="@+id/home_video_layout"
android:src="@drawable/splash_image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
/>
Run Code Online (Sandbox Code Playgroud)
更新:
了解屏幕密度和"dp"
分辨率是显示器中可用的实际像素数,密度是显示器的常量区域内出现的像素数,而大小是可用于显示界面的物理空间量.这些是相互关联的:将分辨率和密度一起提高,尺寸大致保持不变.这就是为什么Droid上的G1和480x800屏幕上的320x480屏幕都是相同的屏幕尺寸:480x800屏幕有更多的像素,但它的密度也更高.
为了从图片中删除大小/密度计算,Android框架在"dp"单位中尽可能地工作,这些单位针对密度进行了校正.在与原始Android手机相对应的中密度("mdpi")屏幕中,物理像素与dp相同; 这两种设备的尺寸均为320x480.较新的手机可能具有480x800的物理像素尺寸,但是是高密度设备.在这种情况下,从hdpi到mdpi的转换因子是1.5,因此对于开发人员而言,该设备的dp为320x533.
这些指的是屏幕像素密度,而不是屏幕尺寸。如果您确实需要根据屏幕尺寸(以像素为单位)更改行为,则需要查看屏幕尺寸说明符,例如小、中、大和超大。
Android 文档解释了哪些密度和尺寸与这些标识符相匹配。
| 归档时间: |
|
| 查看次数: |
74554 次 |
| 最近记录: |