Android布局方向问题

时间:2013-06-14 08:14:21

标签: android layout

我需要在我的项目中创建新活动,并且我想要显示图片。我想要创建的布局就是这样。

enter image description here

所有高度必须具有“wrap_content”属性。

我必须使用哪些布局?

4 个答案:

答案 0 :(得分:3)

试试这个:

 <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <GridView
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="66" >
        </GridView>

        <GridView
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="33" >
        </GridView>
    </LinearLayout>

    <GridView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </GridView>
</LinearLayout>

注意:您可以使用任何其他View而不是GridView,只需确保属性相同。

This is what you're looking for

答案 1 :(得分:0)

我想你想创建一个StaggeredGridView。

StaggeredGridView是Android的实验性StaggeredGridView的修改版本。 StaggeredGridView允许用户使用类似于Pinterest外观的不均匀行创建GridView。包括自己的OnItemClickListener和OnItemLongClickListener,选择器和固定位置恢复。

使用this库。

希望这会有所帮助:)

答案 2 :(得分:0)

考虑使用TableLayoutGridView并在子项上使用 layout_weight 属性。

您的第一个孩子(66%)的布局权重为2,第二个(33%)的布局为1.

然后第一个孩子占据宽度的2/3(66%),第二个孩子占1/3,即33%。

并使用 layout_span 属性展开两列的最后一个视图。

例如:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="*" >

    <TableRow>

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"/>
    <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
    </TableRow>

    <TableRow>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_span="2" />
    </TableRow>
</TableLayout>

另请参阅that question以获取有关layout_weight的说明。

答案 3 :(得分:0)

为什么你坚持使用wrap_content? 你有“固定”的盒子宽度(66%和33%)。我相信您可以使用sp / dp单位来实现这一目标。当然还有一些调整。

有关此主题的更多信息,请转到 http://developer.android.com/guide/practices/screens_support.htmlWhat is the difference between "px", "dp", "dip" and "sp" on Android?