Articles of dpi

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

我已经意识到,我不是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:使用平板电脑模拟其他设备?

我正在考虑投资谷歌Nexus 10作为testing我的应用程序的首选平板​​ – 我只是想知道是否有可能模仿其他设备的屏幕分辨率? 由于nexus 10具有如此高的分辨率和DPI,我希望能够在800 x 480屏幕等上运行我的应用程序。 我想这样做,如果可能的话,因为它会比使用模拟器更快,并支持多点触摸。 这似乎是一个没有脑子,但它实际上是可能的吗?

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

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

为什么Nexus 6的密度是560 dpi?

如何为Nexus 6准备资源? 如果我把图像放到xxxhdpi,它们会缩小并丢失质量。 我把图像放到xxhdpi,它们会放大并丢失质量。 为什么开发者决定密度设置值560dpi,如果真密度493ppi更接近xxhdpi〜480dpi? Nexus 6拥有令人印象深刻的5.96英寸四分辨率高清屏幕,分辨率为2560 x 1440(493 ppi)。 这转换为〜730 x 410 dp(密度独立像素)。 Nexus 6的量化密度为560 dpi,属于xxhdpi和xxxhdpi主密度桶之间。 对于Nexus 6,该平台将缩小xxxhdpi资产,但是如果这些资产不可用,则会扩大xxhdpi资产。 xxhdpi ~480dpi xxxhdpi ~640dpi

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

我已经开始使用Adobe Photoshop为我的Android应用程序制作graphics。 但我无法继续,因为Photoshop中的分辨率是以每英寸像素为单位设置的,正如谷歌的官方文档所述,Android将要求以dpi为单位设置图像。 我已经在networking上search了两者之间的转换,但从来没有结束任何适当的公式。 我知道Android文档将关系描述为px = dp*dpi/160 。 但我的问题是,如果我知道dpi在哪里可以得到在这个计算中使用的dp值? 还是有任何关于dp的价值的假设? 我很困惑。