ImageView下的Textview可在Listview项目布局中调整大小?

时间:2012-06-13 03:31:49

标签: android android-layout

我有一个listview,在我的列表项目布局中,我想在textview下面放置一个textview。

在我的imageview中,因为我正在将位图加载到其中,所以我必须对其进行设置,以便在将图像加载到imageview时将图像调整为正确的大小。我通过设置imageview的布局高度和宽度参数来填充父级来完成此操作。因此,当我将textview放在imageview下面时,textview不会出现......

我尝试在imageview周围放置另一个linearlayout并修复高度,以便它会调整到最大高度,但textview仍然没有出现......

这是我的布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/race_entrant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingTop="2dip"
android:paddingBottom="2dip"
android:paddingRight="2dip"
android:orientation="horizontal"
android:descendantFocusability="blocksDescendants"
android:cacheColorHint="#E0EAF1">
    <LinearLayout
    android:layout_height="fill_parent"
    android:layout_width="50dip"
    android:orientation="vertical"
    android:id="@+id/linearLeft"
    android:paddingLeft="2dip"
    android:paddingRight="2dip"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:background="#E0EAF1"
    android:cacheColorHint="#E0EAF1">
    <TextView
        android:id="@+id/txtEntrantNo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/entrant_number"
        android:layout_gravity="center_horizontal"
        android:cacheColorHint="#E0EAF1" />
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="41dip">
        <ImageView
            android:id="@+id/imgJockey"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="1dip"
            android:adjustViewBounds="true"
            android:cacheColorHint="#E0EAF1" />
    </LinearLayout>
    <TextView
        android:id="@+id/txtForm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_weight="1"
        style="@style/entrant_form" />
</LinearLayout>

我所指的textview有id txtForm。

如何才能将textview与imageview一起显示?

2 个答案:

答案 0 :(得分:1)

您需要为ImageView提供layout_weight。我把图片和一些文字放在一边供参考。以下是它的外观:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/race_entrant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#E0EAF1"
android:descendantFocusability="blocksDescendants"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:paddingBottom="2dip"
android:paddingRight="2dip"
android:paddingTop="2dip" >

<LinearLayout
    android:id="@+id/linearLeft"
    android:layout_width="50dip"
    android:layout_height="fill_parent"
    android:background="#E0EAF1"
    android:cacheColorHint="#E0EAF1"
    android:orientation="vertical"
    android:paddingBottom="2dip"
    android:paddingLeft="2dip"
    android:paddingRight="2dip"
    android:paddingTop="2dip" >

    <ImageView
        android:src="@drawable/ic_launcher"
        android:layout_weight="1"
        android:id="@+id/imgJockey"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="1dip"
        android:adjustViewBounds="true"
        android:cacheColorHint="#E0EAF1" />

    <TextView
        android:text="Text"
        android:id="@+id/txtEntrantNo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/entrant_number"
        android:layout_gravity="center_horizontal"
        android:cacheColorHint="#E0EAF1" />

    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

您可以在线性布局的位置使用相对布局,并在其中添加文本视图和图像视图。