listview与android中的气球

时间:2011-12-05 13:26:27

标签: android listview

我正在尝试使用气球创建列表视图。它就像一个线程聊天列表。 enter image description here

我正在为气球使用thread.9.png(9补丁图片)图片。但是你可以在上面的屏幕截图中看到气球占据屏幕宽度甚至内容都较小。

我想根据内容调整气球的宽度。

bellow是列表视图行的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:paddingLeft="2dp"
  android:background="@drawable/thread">


    <TextView 
        android:text="TextView" 
        android:id="@+id/messageFrom" 
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:layout_weight="1.0"
        android:layout_width="wrap_content" 
        android:layout_marginLeft="20dip"
         android:layout_marginTop="20dip"></TextView>


    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="@color/black"
    android:id="@+id/messageTitle" 
    android:text="TextView" 
    android:layout_gravity="right" 
    android:layout_marginBottom="20dip"></TextView>
     <TextView 
        android:layout_weight="1.0"
        android:gravity="right"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:textColor="@color/blue" 
        android:id="@+id/messageDay" 
        android:text="TextView" android:layout_marginLeft="20dip"></TextView>
</LinearLayout>

如果有任何样本用于线程列表视图,它也会非常有用。

3 个答案:

答案 0 :(得分:2)

9patch图像不会缩小(只会拉伸),所以如果thread.9.png的宽度大于内容大小,它将使用图像宽度。

答案 1 :(得分:1)

您必须使用所需的最小宽度设计气球背景图像

答案 2 :(得分:1)

尝试使用sub linearlayout,因为列表行填充主要布局,即使您将宽度设置为wrap_content

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/selector_bg1" android:padding="10dp">
        <TextView android:text="text view one" android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:textColor="#ffff0000" android:textSize="20dp" android:id="@+id/text1"/>
        <TextView android:text="text view two" android:layout_width="fill_parent" android:layout_height="wrap_content" 
            android:textColor="#ffff0000" android:textSize="20dp" android:id="@+id/text2"/>
    </LinearLayout>
</LinearLayout>