如何区分 480X800 和 480X854 屏幕。我们可以选择将一个图像放在 hdpi 文件夹中。在我的情况下,480X800 图像不支持 480X854 图像。它在底部显示一个空白区域。任何想法?
编辑:我将图像设置为背景。在我的布局上,我有带边距的透明图像视图。如果我单击图像视图,它会执行一些任务。但在这两个屏幕之间。我可以调整一个值。在另一个中,图像略微拉伸。那我该怎么办?你能理解我的问题吗?请帮忙。
如何区分 480X800 和 480X854 屏幕。我们可以选择将一个图像放在 hdpi 文件夹中。在我的情况下,480X800 图像不支持 480X854 图像。它在底部显示一个空白区域。任何想法?
编辑:我将图像设置为背景。在我的布局上,我有带边距的透明图像视图。如果我单击图像视图,它会执行一些任务。但在这两个屏幕之间。我可以调整一个值。在另一个中,图像略微拉伸。那我该怎么办?你能理解我的问题吗?请帮忙。
您实际上不必区分两者。您应该尽最大努力只支持每个屏幕密度而不是特定的屏幕分辨率。否则,当屏幕分辨率不同的设备问世时,你会陷入混乱。这就是我们有九个补丁图像的原因!:)
另请参阅此问题:
我的 Android 闪屏应该是什么分辨率?
如果您绝对需要区分两者,则可以使用long
andnotlong
资源限定符。例如 WVGAvalues-hdpi-notlong
和 FWVGA 是values-hdpi-long
.
显然这是不正确的,这更有理由不区分和创建可以处理分辨率微小变化的通用资源。
您可以从当前运行的进程中提取分辨率,但不能提取确切的分辨率。据我所知,它们无法区分两个“大”显示器,您可以期望的最好的结果是您的应用程序支持任何尺寸。
如果您显示图像(并假设您使应用程序可用于所有屏幕尺寸),只需使图像与较大的分辨率一样大,而不是让其他位显示。如果图像文件很小,您应该没有问题。
顺便说一句,我首先通过使所有屏幕分辨率都可以访问应用程序布局并针对较低分辨率进行自定义来解决了这个问题。
希望它有所帮助!
克里斯托弗是对的,您应该使您的应用程序灵活,但如果您确实需要实际的屏幕分辨率,您可以使用:
显示 d = ((WindowManager)activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int 宽度 = d.getWidth(); int 高度 = d.getHeight();
从那里您可以根据需要重新缩放或放大/缩小,或者只使用 9patch。当然,这取决于应用程序,但您可以考虑将 480x854 图像放在 res/ 文件夹中,并确保它在 480x800 上看起来正确,只是居中。
创建文件夹布局-hdpi-854x480