Android:在ListView的每一行中水平显示2个TextView

时间:2013-09-12 07:46:13

标签: android android-listview

我创建了一个自定义ArrayAdapter,以便在ListView(Customizing Android ListView Items with Custom ArrayAdapter)中显示多个TextView。我的目标是以类似表格的形式(有2列)显示它们,有点像这样:

A     B
----------
C     D
----------
E     F

但是,我一直以垂直格式获取它们,如下所示:

A    
B
----------
C     
D
----------
E     
F

以下是我的活动xml:

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/list_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

这里是list_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView android:id="@+id/product_name"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:textSize="16dip"
    android:textStyle="bold"/>   

<TextView android:id="@+id/status"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:textSize="16dip"
    android:textStyle="bold"/>           

 </LinearLayout>

我不太熟悉 fill_parent wrap_content ,也许我对他们做错了什么?

3 个答案:

答案 0 :(得分:3)

更改此

  android:orientation="vertical"

  android:orientation="horizontal"

并使用margin来表示视图之间的间距。同时进行以下更改

  android:layout_width="wrap_content"
  android:layout_height="wrap_content"

编辑:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<TextView android:id="@+id/product_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:text="A"
    android:textSize="16dip"
    android:textStyle="bold"/>   

<TextView android:id="@+id/status"
    android:layout_marginLeft="30dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:text="B"
    android:textSize="16dip"
    android:textStyle="bold"/>           

 </LinearLayout>

卡扣

enter image description here

答案 1 :(得分:2)

你已经在你的行布局中放了android:orientation =“vertical”。使它“水平”

答案 2 :(得分:0)

//按以下方式更改布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<TextView android:id="@+id/product_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:textSize="16dip"
    android:textStyle="bold"/>   

<TextView android:id="@+id/status"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:textSize="16dip"
    android:textStyle="bold"/>           

 </LinearLayout>