【问题标题】:Scaling widget on Android (dp, px, screen size)Android 上的缩放小部件(dp、px、屏幕尺寸)
【发布时间】:2011-08-03 14:15:29
【问题描述】:

在 Android 上控制小部件大小的最佳方法是什么?

请看下表:

• 在 480x800 像素的 3.6-4.0 英寸屏幕(智能手机)上,dpi 约为 240dpi
• 在 540x960 像素的 4.3 英寸屏幕(智能手机)上,dpi 约为 270dpi
• 在 480x800 像素的 7 英寸屏幕(平板电脑)上,dpi 约为 130dpi
• 在 600x1024 像素的 7 英寸屏幕(平板电脑)上,dpi 约为 170dpi
• 在 1280x800/768 像素的 8.9 英寸屏幕(平板电脑)上,dpi 约为 170dpi
• 在 1280x800 像素的 10.1 英寸屏幕(平板电脑)上,dpi 约为 150dpi

因此,通常智能手机具有更高的 dpi。

现在,如果我创建一个宽度为 100 像素的控件,它在低 dpi 显示器上会很好,但在高 dpi 显示器上会不好,因为控件太小了。如果我用 100dp 创建相同的控件,它将相反——在高分辨率显示器上,它将缩放到例如150 像素,但在低 dpi 屏幕(平板电脑)上,如果密度低于 160 dpi,它仍将是 100 像素或更小。

那么我应该如何控制 4 英寸显示屏占用 1 英寸,7 英寸显示屏占用 1.5 英寸,10.1 英寸显示屏占用 1 英寸?换句话说——屏幕越大,控件越大,但不考虑分辨率。

但这实际上是一个好方法吗?

问候, 斯特恩

【问题讨论】:

    标签: android android-layout android-widget


    【解决方案1】:

    请将此包含在您的 android 清单文件中..

     <supports-screens
            android:largeScreens="true"
            android:normalScreens="true"
            android:smallScreens="true"
            android:resizeable="true"
            android:anyDensity="true"
            />
    

    并查看来自 android 开发者网站的以下链接,这可能会帮助您找到解决问题的解决方案..

    http://developer.android.com/guide/practices/screens_support.html

    【讨论】:

    • 嗨,这对我有什么帮助?默认情况下 anyDensity 为 true 并且不推荐使用 resizeable ,我将支持普通、大和 xlarge 屏幕 - 我将连接到清单以避免兼容模式......我多次查看“支持多个屏幕”文档,但我在这里没有找到我的问题的答案:(((可能我需要更仔细地阅读它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多