我怎样才能实现某种布局

时间:2014-03-23 10:25:21

标签: android layout view

为Android应用程序设置这样的布局的最佳方法是什么?

layout

当rownumber为偶数或0时,该行应该有2列。 否则该行应该只有1列

必须动态生成行。 细胞也应该有一个图像和一些文本。

我应该使用什么布局:tablelayout或gridlayout?哪个观点?

2 个答案:

答案 0 :(得分:0)

使用LinearLayout(垂直)作为父级和LinearLayout(水平作为子级),在子级中,您可以根据for循环次数添加一个或两个视图。

rootLL = createLinearLayout(vertical)
for (int i=0;i<10;i++)
{
    childLL = createLinearLayout(horizontal)
    view1 = createView()
    view1.setWeight(1)
    childLL.addChild(view1)
    if (i%2==0)
    {
        view2 = createView()
        view2.setWeight(1)
        childLL.addChild(view2)
    }
    rootLL.addChild(childLL)
}

答案 1 :(得分:0)

你只需编辑这段代码就可以实现这个理想的布局我设计的这个对你来说最好你只是把它作为一个例子你可以尝试比这更好

enter image description here

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:padding="5dp"
    android:weightSum="2" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="horizontal"
    android:padding="5dp"
    android:weightSum="2" >

    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imageView5"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView6"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />
</LinearLayout>