【问题标题】:how to differentiate the 480X800 and 480X854 screens in android?如何区分android中的480X800和480X854屏幕?
【发布时间】:2010-06-09 18:00:47
【问题描述】:

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

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

【问题讨论】:

    标签: android android-layout highdpi


    【解决方案1】:

    你不应该真的区分这两者;您应该尽最大努力只支持每个屏幕密度而不是特定的屏幕分辨率。否则,当屏幕分辨率不同的设备问世时,你会陷入混乱。这就是我们有九个补丁图像的原因! :)

    另请参阅此问题:
    What resolution should my Android splash screens be?

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

    【讨论】:

    • WVGA 和 FWVGA 都属于 values-normal-long。检查这个:developer.android.com/guide/topics/resources/… 有没有其他方法可以区分 WVGA 和 FWVGA?
    • 哦,确实;我想知道这是否已经改变或者我想象的那样。在这种情况下,很可能没有(未弃用的)方法。
    【解决方案2】:

    您可以从当前运行的进程中提取分辨率,但无法提取精确的分辨率。据我所知,它们无法区分两个“大”显示器,您能希望的最好结果就是您的应用支持任何尺寸。

    如果您显示图像(并假设您使应用程序可用于所有屏幕尺寸),只需使图像与较大的分辨率一样大,而不要让其他位显示。如果图像文件很小,您应该没有问题。

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

    希望对您有所帮助!

    【讨论】:

      【解决方案3】:

      Christopher 说得对,您应该让您的应用灵活,但如果您确实需要实际的屏幕分辨率,您可以使用:

      显示 d = ((WindowManager)activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int 宽度 = d.getWidth(); int 高度 = d.getHeight();

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

      【讨论】:

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

      创建文件夹 layout-hdpi-854x480

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-05
        相关资源
        最近更新 更多