【问题标题】:Make a double-width screen layout制作双宽屏幕布局
【发布时间】:2012-09-04 21:39:24
【问题描述】:

我需要绘制正好是屏幕宽度两倍的 UI,在 Horizo​​ntalScrollView 中滚动。

伪代码是这样的:

<HorizontalScrollView width=device_screen>
  <myUI width=device_screen*2>...</myUI>
</HorizontalScrollView>

我不想为市场上的每个设备设置精确的 px/dp 宽度,但我没有找到一种方法为任何设备相对于其父设备以声明方式设置视图宽度。

有什么办法吗?

【问题讨论】:

    标签: android layout


    【解决方案1】:

    您可以使用 WindowManager 类获取当前显示信息,乘以 2 并将其分配给视图的宽度。像这样的:

    WindowManager wm = getWindowManager();
    Display d = wm.getDefaultDisplay();
    
    int view_width = 2*d.getWidth();
    

    【讨论】:

    • 虽然这不是纯粹的基于 XML 的解决方案,但它似乎是唯一的方法。谢谢
    【解决方案2】:

    这与this one 是同一个问题。有两个开源库可以实现您需要的最佳答案中包含的内容。它将允许您根据需要添加任意数量的水平页面视图。

    但是,如果您不需要视图并且可以使用 Fragments,您应该使用 ViewFliper 等。

    【讨论】:

    • 我的应用程序很简单,我想依靠 Android XML 标记,似乎不可行,我需要在代码中调整视图大小。无论如何感谢您的建议!
    • 使用Horizo​​ntalPager,它是纯XML标记,你可以像水平方向的LinearLayout一样标记它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多