Articles of dpi

适用于Values文件夹的Android hdpi / mdpi / ldpi?

Android允许我们为drawable文件夹定义hdpi / mdpi / ldpi,以便考虑不同大小的屏幕/设备。 我想知道是否可以为Values文件夹(甚至布局文件夹)应用相同的支持? 原因是,我通常定义一个“sizes.xml”文件,其中包含我应用于边距和填充的标准dp大小。 我也对文本的sp大小做同样的事情。 我想根据手机dpi调整这些值。

Android xxx-hdpi真实设备

我要发布我的应用程序,这是一个1.2Mb的apk,包括4种不同格式的大约120个图标(ldpi,mdpi,hdpi,x-hdpi)。 如果我添加xx-dpi和xxx-hdpi图标,apk会变大,加载时间会增加。 有许多入门级设备,内存非常loooow,我希望我的应用程序可以在任何地方运行。 我真的需要添加xx-hdpi吗? 是否有真正的设备需要xxx-hdpi?

如何将ppi转换为dpi for Android图像?

我已经开始使用Adobe Photoshop为我的Android应用程序制作图形了。 但我无法继续,因为Photoshop中的分辨率设置为每英寸像素,正如官方Google文档所述,Android将需要以dpi设置的图像。 我在网上搜索了两者之间的转换,但从未得到任何适当的公式。 我知道Android文档将关系描述为px = dp*dpi/160 。 但我的问题是,如果我知道dpi,我在哪里得到dp的值,以便在此计算中使用? 或者是否有关于dp值的假设? 我很困惑。

在所有设备的相同位置定位图像的最佳方法?

我已经意识到,我不是100%确定定位一些UI元素的最佳方式,以便它出现在所有设备上的相同位置上。 到目前为止,这些是选项: 为每个设备设置dp填充 使View上方此图像,并更改每个设备的填充 在Java code计算屏幕大小,并从代码中以generics的方式设置它的位置。 例如,设置该图像位于屏幕高度的1/5,并根据当前设备的屏幕高度应用此公式。 类似于第2点,但是不是使用固定的dp ,而是使用layout_weight元素 什么似乎是最好的方法? 有没有更好的方法,我没有在这里提到? 谢谢

如何根据DPI值对Android设备进行分类?

在Android中,各种设备根据其密度分为不同的类别。 LDPI = 120 DPI MDPI = 160 DPI HDPI = 240 DPI XHDPI = 320 DPI XXHDPI = 480 DPI XXXHDPI = 640DPI 这里我的疑问是,如果Android设备的密度为“200 DPI”,是否属于上述类别? (例如:Nexus 5具有217dpi,无论是HDPI还是MDPI)。 谁能说,不同密度的准确范围(LDPI,MDPI,XXHDPI …..)。

Android – 如何获取或设置(打印)加载或编程保存JPEG文件的DPI(每英寸点数)?

我有一个Android 4.0及以上版本开发的应用程序。 (该应用程序不支持4.0以下的Android版本[冰淇淋三明治])。 这个问题涉及(打印)各种图像(例如JPEG或PNG)格式的DPI。 这个问题不涉及屏幕DPI或各种Android设备的大小。 它也与在屏幕上显示设备上的位图无关。 我正在使用下面的代码来加载图像文件在'位图'。 然后,我已经裁剪,并保存到另一个jpegCompression JPEG格式的文件。 我已经能够通过下面的代码做到这一点,但我无法得到DPI的加载或设置保存的图像文件的DPI。 所以我有两个问题。 1)在“位图”中加载后如何从JPEG文件中获取(打印)DPI? 2)在保存新生成的“位图”的同时,如何在JPEG文件中再次设置DPI? 以下是供参考的部分代码。 FileInputStream inputStream = new FileInputStream(theSourcePhotoFilePathName); Bitmap bitmap = null; BitmapRegionDecoder decoder = null; BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 1; options.inDensity = 300; // Tried this but not working. try { decoder = BitmapRegionDecoder.newInstance(in, false); bitmap = decoder.decodeRegion(region, options); // […]

SPH-L710(Sprint Galaxy S III)运行4.4.2 misreports xdpi和ydpi

最近我们注意到数据exception,许多设备通过DisplayMetrics误报了它们的xdpi和ydpi。 作为一个具体的例子,运行4.4.2的所有SPH-L710 Sprint Galaxy S III设备都会报告〜160的xdpi和ydpi。 分辨率为1280×720时,屏幕尺寸可以达到9英寸,显然不是这种情况。 在4.4.2之前,这个设备模型正确地报告了它的xdpi和ydpi:〜304和〜306。 我们通过DisplayMetrics访问这些信息,如下所示: DisplayMetrics dm = getResources().getDisplayMetrics(); xdpi = dm.xdpi; ydpi = dm.ydpi; 有没有人注意到这些指标是不一致/不可靠的? 有没有更准确的方式来访问这些信息? 编辑:我发现这个post关于xdpi / ydpi的不准确。 Romain和Dianne似乎都承认这个问题 – 所以DisplayMetrics文档没有记下这些不可靠的属性,这对我来说似乎是不负责任的。

适用于Eclipse的Android Nexus 7 DPI

Nexus 7就是TVDPI,但是它并没有用于编程应用程序。 Eclipse使用HDPI,LDPI,MDPI,XHDPI和XXHDPI文件夹。 经过我的研究,我还是没有发现确切的结论。 四个不同的来源,四个不同的答案: 1.33 x MDPI 华电国际 XHDPI 没有直接的答案 所以我的问题是: 有谁知道Nexus 7使用哪种密度(HDPI / LDPI / MDPI / XHDPI / XXHDPI)?

扩展Phonegap应用程序的不同Android屏幕尺寸/密度?

我有一个Phonegap应用程序,旨在运行Android手机和平板电脑。 文字和图像的比例在手机上看起来不错,但在7英寸的平板电脑上太小了。 有没有一种方法来设置不同的屏幕尺寸/密度,适用于基于Phonegap的应用程序的规模? 对于原生的Android应用程序,多个屏幕布局(如在Android文档中提到的)将是一个解决scheme,但是这可以用于基于Phonegap的应用程序吗? 我可以使用CSS媒体查询设置基于屏幕大小的字体大小,但我想按比例缩放整个界面(包括图像)。 我尝试使用CSS zoom属性以及媒体查询来定位特定的屏幕大小,但是这样会导致绝对定位并干扰iScroll等UI元素的function: @media only screen and (min-device-width : 768px) { body{ zoom: 125%; } } @media only screen and (min-device-width : 1024px){ body{ zoom: 150%; } } 我也尝试使用targetdensity-dpi meta viewport属性 – 将其调整为120dpi,使得7英寸平板电脑上的比例尺更好,但手机上的比例太大。 由于这是用HTML而不是CSS进行硬编码的,媒体查询不能用来根据屏幕大小来改变它: <meta name="viewport" content="width=device-width, initial-scale=1, targetdensity-dpi=120dpi"> 以下是一个testing用例Phonegap应用程序的截图: HTC HD2,目标密度=默认 HTC HD2,目标密度= 120dpi Nexus 7,目标密度=默认 Nexus 7,目标密度= 120dpi

Android的hdpi / mdpi / ldpi的值文件夹?

Android允许我们为可绘制文件夹定义hdpi / mdpi / ldpi以考虑不同大小的屏幕/设备。 我想知道是否可以应用相同的支持值文件夹(甚至布局文件夹)? 原因是,我通常定义一个“sizes.xml”文件,它保存适用于边距和填充的标准dp大小。 我也为文本的大小做同样的事情。 我想根据手机的dpi来调整这些值。