Android:GridLayout适用于此设计

时间:2013-02-07 08:30:16

标签: android android-layout

在我的申请中,我必须向某些人展示信息。我一次只能展示三名成员。在从左到右滑动时,我必须显示另外三组成员。这是设计enter image description here

首先我想,我们可以使用三个列表视图,即LV1,LV2,LV3 并为这3个列表视图设置列表适配器。在ListAdapter中,listview的第一行可以获取Title详细信息,然后它将获取连续行的Listviews。即每个白盒都有单独的Listview,我们无法预测一个成员有多少白盒。

我可以为一个listView发送一个名为Member的对象,其中一个成员对象的属性是ArrayList 即

 List mem1 = new ArrayList();
mem1.add(member1)
List mem2 = new ArrayList();
mem2.add(member2)
List mem3 = new ArrayList();
mem3.add(member3)

我可以为LV1适配器发送mem1,为LV2适配器发送mem2,为LV3适配器发送mem3

但是我不能在白框中填充项目细节。

请告诉我最好的方法......

2 个答案:

答案 0 :(得分:1)


最好在表单中放置一个List视图。然后创建一个单独的“row.xml”布局作为列表视图的一行。 row.xml 包含 3个文本框。
对于标题,您可以创建文本视图并将其放入表单中。然后您应该根据以下编码片段填充列表视图

class MyAdapter extends ArrayAdapter {
        ArrayList items;

        MyAdapter(ArrayList items) {
            super(OrderSummary.this, R.layout.row, items);
            this.items = items;
        }

        public View getView(int position, View convertView, ViewGroup parent)
        {
            //Your business login to insert data in the text boxes
        }
    }

MyAdapter mSchedule = new MyAdapter(mylist);
listView.setAdapter(mSchedule);

答案 1 :(得分:0)

我得到了解决方案,

我考虑三个列表视图并为listview创建自定义视图。这里listview只包含一行。那一排的设计是

<LinearLayout
    android:id="@+id/dd"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:gravity="center_horizontal"
        android:textColor="#FFFFFF"
        android:textSize="27dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/subtitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:textColor="#FFFFFF"
        android:textSize="15dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/action"
        android:layout_width="fill_parent"
        android:layout_height="55dp"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="5dp"
        android:background="@drawable/blue_button_bg"
        android:text="action"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/ttt"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_horizontal"
        android:textColor="#FFFFFF"
        android:textSize="27dp" />
</LinearLayout>

<GridLayout
    android:id="@+id/projects"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="5dip"
    android:layout_marginTop="5dip"
    android:layout_weight="1"
    android:clipToPadding="true"
    android:columnCount="1"
    android:orientation="horizontal"
    android:useDefaultMargins="true" >
</GridLayout>