如何区分android中的480X800和480X854屏幕?

时间:2010-06-09 18:00:48

标签: android android-layout highdpi

如何区分480X800和480X854屏幕。我们可以选择将一个图像放在hdpi文件夹中。在我的情况下,480X800图像不支持480X854图像。它在底部显示一个空白区域。任何想法?

编辑:我将图片设置为背景。在我的布局上,我有带边距的透明图像视图。如果我单击图像视图它会执行一些任务。但在这两个屏幕之间。我可以调整一个值。在另一个图像中略微拉伸图像。那我该怎么办?你能理解我的问题吗?请帮忙。

4 个答案:

答案 0 :(得分:4)

你不应该真正区分这两者;你应该尽力支持每个屏幕密度而不是特定的屏幕分辨率。否则,当具有不同屏幕分辨率的设备出现时,您将陷入混乱。这就是为什么我们有九个补丁图像! :)

另见这个问题:
What resolution should my Android splash screens be?

如果您绝对需要区分这两者,则可以使用long and notlong资源限定符。例如WVGA为values-hdpi-notlong,FWVGA为values-hdpi-long
显然是this isn't correctall the more reason ,可以区分并创建可以处理分辨率微小变化的通用资源。

答案 1 :(得分:1)

您可以从当前正在运行的进程中提取分辨率,但无法提取精确的分辨率。据我所知,他们无法区分两个“大型”显示器,您可以期望的最佳功能是支持您的应用程序的任何尺寸。

如果您显示图像(假设您使应用程序适用于所有屏幕尺寸),只需将图像设置为较大分辨率,不要让其他位显示。如果图像文件很小,则不应该有问题。

顺便说一句,我首先通过使应用程序布局可以访问所有屏幕分辨率并自定义较低分辨率来解决问题。

希望它有所帮助!

答案 2 :(得分:1)

克里斯托弗是对的,你应该让你的应用程序灵活,但如果你确实需要实际的屏幕分辨率,你可以使用:

Display d = ((WindowManager)activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = d.getWidth();
int height = d.getHeight();

从那里你可以根据需要重新缩放或放大/缩小,或者只使用9patch。这取决于当然的应用程序,但您可以考虑将480x854图像放在res /文件夹中,并确保它在480x800上正好居中。

答案 3 :(得分:1)

创建文件夹布局-hdpi-854x480