以 3x3 模式排列屏幕

Posted

技术标签:

【中文标题】以 3x3 模式排列屏幕【英文标题】:Arrange Screen in 3x3 pattern 【发布时间】:2014-03-19 11:25:35 【问题描述】:

我喜欢在我的 android 应用程序中将屏幕排列成 3 列和 3 行。 所有九个正方形都应始终具有相同的大小。每个方块都应该能够包含不应该被剪裁的图片或视频。

我已经有了一个完整的解决方案,但是这个解决方案只适用于特定的屏幕尺寸,因为我对 layout_withd 和 layout_heigth 属性进行了硬编码。我使用过一个包含三个 TableRows 且每个包含三个 LinearLayouts 的 Tablelayout。

你能给我一些建议吗?如何以正确的方式开始这个?它应该适用于所有设备。

感谢帮助

【问题讨论】:

【参考方案1】:

试试这个

<LinearLayout
        android:orientation="horizontal"
        android:layout_
        android:layout_>

    <LinearLayout android:orientation="vertical" android:layout_
                  android:layout_ android:id="@+id/linearLayout2" android:layout_weight="1">
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
    </LinearLayout>

    <LinearLayout android:orientation="vertical" android:layout_
                  android:layout_ android:id="@+id/linearLayout" android:layout_weight="1">
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
    </LinearLayout>

   <LinearLayout android:orientation="vertical" android:layout_
                  android:layout_ android:id="@+id/linearLayout2" android:layout_weight="1">
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
        <LinearLayout android:orientation="horizontal" android:layout_
                      android:layout_ android:layout_weight="1"/>
    </LinearLayout>
</LinearLayout>

【讨论】:

以上是关于以 3x3 模式排列屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何在行和列中排列对象并在.svg中导出[关闭]

设备方向更改时如何重新排列集合视图单元格

以瀑布模式排列图像的最佳实践

如何以针对不同尺寸显示器的模式排列多个 UIView

2017华为机试题--全排列问题

华为机试真题 C++ 实现数字排列