0

在此处输入图像描述

我想在图像上方设置文本名称。我该怎么做?我有一个列表视图和一个单独的图像视图。但我在搜索框中搜索一些名字。结果将显示带有文本的图像。我想在图像上方显示文本。

主.xml:

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

    <EditText
        android:id="@+id/EditText01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Search" >
    </EditText>

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

</LinearLayout>

列表视图.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="left|center"
    android:paddingBottom="5px"
    android:paddingLeft="5px"
    android:paddingTop="5px" >

    <ImageView
        android:id="@+id/ImageView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ImageView>

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10px"
        android:textColor="#0099CC"
        android:textSize="20px"
        android:textStyle="bold" >
    </TextView>

</LinearLayout>
4

3 回答 3

4

实现此目的的两种方法是:

在你listview.xml改变你LinearLayout的垂直方向并定义第TextView一个。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              ...
              android:orientation="vertical">
          <TextView  .....></TextView>
          <ImageView .....></ImageVIew>  
</LinearLayout>

或者您可以将您的更改LinearLayout为 aRelativeLayout并使用android:layout_belowimageview 上的属性。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              ...>
          <TextView android:id="@+id/TextView01"
                    .....></TextView>
          <ImageView .....
                     android:layout_below="@id/TextView01"></ImageVIew>  
</RelativeLayout>
于 2012-09-23T10:35:10.963 回答
3

您应该将行 'android:orientation="vertical"' 添加到您的listview.xml (LinearLayout 部分)

所以您的 listview.xml 将如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_height="wrap_content"
android:gravity="left|center"
                android:layout_width="fill_parent"
android:paddingBottom="5px"                
                android:paddingTop="5px"
android:paddingLeft="5px"
android:orientation="vertical">
                <ImageView android:id="@+id/ImageView01"
                            android:layout_width="wrap_content"
android:layout_height="wrap_content">
            </ImageView>
            <TextView android:id="@+id/TextView01"
                            android:layout_width="wrap_content"
android:layout_height="wrap_content"
                            android:textSize="20px"
                            android:textStyle="bold"
                            android:layout_marginTop="10px"
android:textColor="#0099CC">
            </TextView>
</LinearLayout>
于 2012-09-23T10:45:47.357 回答
1

看看 FrameLayout 而不是 LinearLayout 作为父视图组。您可以使用边距/填充将视图放置在您想要的任何位置:

http://www.learn-android.com/2010/01/05/android-layout-tutorial/3/

于 2012-09-23T10:32:13.710 回答