【问题标题】:Android: Supporting multiple screen sizes within same size categoryAndroid:支持同一尺寸类别内的多种屏幕尺寸
【发布时间】:2012-08-10 22:43:20
【问题描述】:

我对支持多种屏幕尺寸/分辨率/密度等感到非常困惑。

这是两难境地:

我将应用程序的 GUI 分为四类 - 小、普通、大、Xlarge。

所以我正在测试的手机是普通屏幕尺寸,3.2 英寸 HTC MyTouch3G。现在,我还发现 3.7 英寸屏幕也被称为普通 - 以及其他一些尺寸。

我怎么可能支持这么多不同的屏幕尺寸?

我的应用程序的主布局被包裹在一个 ScrollView 中。为了进行测试,我制作了正常尺寸的布局,使其在 3.7 英寸屏幕上看起来正确(回想一下我的手机是 3.2 英寸)。当我在手机上安装该应用程序时,整个视图会滚动,因为所有图形都太大了。但它不会水平滚动,所有内容都水平调整但不是垂直调整。

那么我有什么方法可以设计应用程序以适应普通或大屏幕等类别中的所有屏幕尺寸?

谢谢。

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    一般而言,您必须设计您的 UI 以适应同一类别下的所有屏幕尺寸“我通常使其适合最小尺寸并在适合时尝试使用 layout_weight 属性,以便视图随屏幕尺寸缩放”,您可以使用 android sdk xml 编辑器查看您的 UI 在每种屏幕尺寸下的外观。

    如果您发现这种方法因任何原因不方便,您始终可以手动操作(使用

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;
    

    然后进行计算,然后将它们应用于视图的 width 、 height 属性。

    【讨论】:

    • 优秀的答案!你知道我怎样才能检索 dp 中的屏幕尺寸而不是任何屏幕尺寸吗?
    • 您可以使用this answer 将像素转换为倾角。
    • 谢谢。此外,您可能希望编辑代码以显示Display display = getWindowManager().getDefaultDisplay();。你错过了Display上的大写D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多