TextView不可见

时间:2015-02-02 23:55:01

标签: android android-listview textview

我写的布局如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip" >

<TextView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="6dip"
    android:contentDescription="TODO"
    android:background="@drawable/history_unfiled_circle" />

<TextView
    android:id="@+id/secondLine"
    android:layout_width="fill_parent"
    android:layout_height="26dip"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@id/icon"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:text="Description"
    android:textSize="12sp" />

<TextView
    android:id="@+id/firstLine"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/secondLine"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_alignWithParentIfMissing="true"
    android:layout_toRightOf="@id/icon"
    android:gravity="center_vertical"
    android:text="Example application"
    android:textSize="16sp" />

</RelativeLayout> 

它应该是左侧的图标和图标右侧的两行文字。 但第一线不可见。我花了很多时间但无法解决它。希望你的帮助。

更新:事实上,我想得到这个结果 enter image description here

3 个答案:

答案 0 :(得分:1)

这就是我的Android Studio上使用虚拟设备Nexus S的样子。 enter image description here

代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip" >

<ImageView
    android:id="@+id/icon"
    android:layout_width="80px"
    android:layout_height="80px"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/black_mana_toggle"
    android:layout_marginRight="10px"
    />

<TextView
    android:id="@+id/secondLine"
    android:layout_width="fill_parent"
    android:layout_height="26dip"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@id/icon"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:text="Description"
    android:textSize="12sp" />

<TextView
    android:id="@+id/firstLine"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/secondLine"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_alignWithParentIfMissing="true"
    android:layout_toRightOf="@id/icon"
    android:gravity="center_vertical"
    android:text="Example application"
    android:textSize="16sp" />
</RelativeLayout>

答案 1 :(得分:0)

这是因为你在RelativeLayout。将其更改为LinearLayout,不要忘记添加方向。阅读本文档以了解何时使用RelativeLayout以及何时使用LinearLayout。

http://www.androidhive.info/2011/07/android-layouts-linear-layout-relative-layout-and-table-layout/

编辑:另外,如果你的身高(ImageView)上有fill_parent,你的ImageView将占据整个屏幕。

答案 2 :(得分:0)

  1. 您需要设置RelativeLayout android:minHeight=?android:attr/listPreferredItemHeightandroid:layout_height=wrap_content,因为其中一个文字内部有固定的高度。

  2. 您的secondLine TextView需要指定android:layout_below="@id/firstLine"