Android ListFragment:每个项目下的背景

时间:2014-08-11 13:11:24

标签: android background android-listfragment

我想在Android中创建一个ListFragment,并为每个元素创建一个背景,如下所示: Example of my ListFragment

我想从ListAdapter的代码中设置theese背景的宽度。我想创建list元素的布局是这样的:

<RelativeLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 xmlns:android="http://schemas.android.com/apk/res/android">

 <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="40dp"
    android:id="@+id/surveyListRow_upperLayout"
    android:layout_marginTop="7dp"
    android:layout_marginBottom="7dp">

    <RelativeLayout
        android:layout_marginLeft="23dp"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:id="@+id/surveyListRow_ringLayout"
        android:background="#FFFFFF"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textColor="@color/textColor"
        android:gravity="center"
        android:id="@+id/surveyListRow_surveyName"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="55dp"
        android:layout_marginRight="105dp"/>

    <TextView
        android:layout_width="80dp"
        android:layout_height="match_parent"
        android:textSize="18sp"
        android:gravity="center"
        android:id="@+id/surveyListRow_surveyPrize"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"/>

 </RelativeLayout>
 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minHeight="57dp"
    android:orientation="horizontal">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FF0000"
        android:layout_weight="30"/>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="70"/>
 </LinearLayout>
</RelativeLayout>

我将设置weight个孩子的LinearLayout属性,以设置背景宽度。

我的问题是,当宽度中的文字太长时(正如你在第三个元素中看到的那样)。然后背景不会缩放到元素的底部。

你能帮助我吗,为什么?我几乎尝试了所有我能想到的东西。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试将其添加到TextView

 <TextView
    ...
    android:ellipsize="end"
    android:ems="2"
    android:maxLines="2" />

这不会让你的textview有两行以上,并在末尾加上省略号。

也许这是一个解决方案。