适用于720x720 BlackBerry屏幕的Android布局



我的BlackBerry Q5可以运行Android应用程序,我想优化我现有的一个应用程序的屏幕。分辨率是720x720,但运行时也在屏幕底部插入了一个条,所以Android应用程序的可用分辨率是720x620像素,所以我想这就是手机向Android应用程序报告的分辨率。

有没有办法制作一个只适用于720x620px屏幕的布局?支持多个屏幕大小的文档说有w<N>dph<N>dp限定符,但它们使用缩放的dp单位,也意味着以dp单位表示的最小可用宽度,因此它们在这里没有用处。

我也需要解决你的问题,这是我的解决方案。

Q5和Q10的屏幕密度为xhdpi(比例因子为2.0),因此最大屏幕大小为720x720px/2.0=360x360dpi

引用文件,表2,"可用高度"行:

指定最小可用屏幕高度,单位为"dp"应该使用该资源
[…]
当您的应用程序为此配置的值不同,系统使用最接近(但不超过)设备的当前屏幕高度
[…]
添加到API级别13

基于这些,对于API>=13的Android(包括黑莓),您可以将您的黑莓特定布局放在"layout-h240dp"文件夹中,将所有其他布局放在"layout-h361dp"中

黑莓的高度大于240dp,小于361dp,因此它将使用h240dp文件夹中的布局。

注意:
-如果不添加361dp文件夹,则240dp文件夹将用于高度大于240dp的每个设备
-我选择240dp是因为它是当今设备的常见最小尺寸
-309dp也应该工作,因为它小于310dp(带条的BB屏幕的最小高度)
-对于具有API的Android<13你必须把一个默认布局放在通用的"布局"文件夹中,因为以前的"h*dp"文件夹被忽略了。如果缺少默认布局,应用程序应该崩溃。

我不想把它变成一个全面的答案,但我需要额外的空间。

对于您的资产,如果您想专门针对Q5或Q10设备,请将它们放在drawable-square文件夹中。由于弃用,这与drawable-small-square有所不同。

如果你计划部署到操作系统10.2.1+设备,并且不希望默认情况下显示后栏,你可以在你的应用程序中添加一个小的配置文件,这样系统就知道不显示它。

有关这方面的更多信息,请查看我的博客:

Android开发者:消除10.2.1中的后栏。应用

最新更新