拆分Android中的布局中的部分

时间:2013-03-08 06:48:25

标签: java android android-linearlayout

我正在开发一个Android项目,我需要在其中设计一个用户界面,如下图所示 -

enter image description here

我需要在Student App上面显示一些文字,然后在下面会显示Student的不同对象。假设我有10 Students,那么每个学生都会10 rows。并且在每一行中左侧都有图像,然后在中间会有一些文本在那里,然后在右侧会有另一个three text

我取得了一些进展,我的代码也在下面。但这与我在图片中寻找的方式并不完全相同。

<ImageView
        android:id="@+id/icon"
        android:src="@drawable/action_eating"
        android:layout_width="60dp"
        android:layout_height="60dp" />
<LinearLayout
        android:orientation="vertical"
        android:layout_gravity="center_vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp" >
    <TextView
            android:id="@+id/text1"
            android:text="test"
            android:textColor="#333"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp" />
    <TextView
            android:id="@+id/text2"
            android:text="test2"
            android:textColor="#6699CC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="14sp" />
</LinearLayout>

我需要将该列表设置为可滚动。

任何人都可以帮我解决这个问题吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

使用表格视图如何创建列

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <!-- 2 columns -->
    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <TextView
            android:id="@+id/textView1"
            android:text="Column 1"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <Button
            android:id="@+id/button1"
            android:text="Column 2" />
    </TableRow>

    <!-- edittext span 2 column -->
    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <EditText
            android:id="@+id/editText1"
            android:layout_span="2"
            android:text="Column 1 &amp; 2" />
    </TableRow>

    <!-- just draw a red line -->
    <View
        android:layout_height="2dip"
        android:background="#FF0000" />

    <!-- 3 columns -->
    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <TextView
            android:id="@+id/textView2"
            android:text="Column 1"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <Button
            android:id="@+id/button2"
            android:text="Column 2" />

        <Button
            android:id="@+id/button3"
            android:text="Column 3" />
    </TableRow>

    <!-- display this button in 3rd column via layout_column(zero based) -->
    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <Button
            android:id="@+id/button4"
            android:layout_column="2"
            android:text="Column 3" />
    </TableRow>

    <!-- display this button in 2nd column via layout_column(zero based) -->
    <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <Button
            android:id="@+id/button5"
            android:layout_column="1"
            android:text="Column 2" />
    </TableRow>

</TableLayout>

答案 1 :(得分:0)

您需要为学生列表创建一个ListView,并创建一个源自ArrayAdapter<Student>并覆盖getView()的自定义类。学生对象列表将传递给适配器,适配器将传递给ListView。如果您正在为一堂课做这个并且您的目的是学习,那么这对于熟悉并且对于专业Android开发来说非常实用是很好的。如需额外赠送金额,请在YouTube I / O 2012上在YouTube上查找名为“World of ListView”的视频,并使您的列表比其他同学更快。