1

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

在此处输入图像描述

我需要在顶部显示一些文本Student App,然后在下面会有不同的对象 a 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>

我需要使该列表可滚动。

谁能帮我解决这个问题?谢谢您的帮助。

4

2 回答 2

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>
于 2013-03-08T06:54:38.077 回答
0

您需要一个 ListView 用于您的学生列表,并创建一个派生自ArrayAdapter<Student>并覆盖的自定义类getView()。学生对象列表被传递给适配器,适配器被传递给 ListView。如果您正在为一堂课这样​​做并且您的目的是学习,那么这是熟悉的好东西,并且对于专业的 Android 开发非常实用。如需额外积分,请在 YouTube 上查找 Google I/O 2012 上名为“ListView 世界”的视频,让您的列表比其他同学更快。

于 2013-03-08T06:54:48.297 回答