我在listview中使用了一个视图,它嵌入了一个带有图像背景的布局。图像,因此行似乎垂直拉伸在哪里。我在应用程序的其他地方使用相同的布局,它看起来是正确的大小。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:background="@drawable/bg_conference_team"
android:orientation="vertical" >
<ImageView
android:id="@+id/team_1_logo"
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/tm_van"
android:contentDescription="@string/desc"/>
<ImageView
android:id="@+id/team_2_logo"
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="12dp"
android:layout_marginTop="10dp"
android:src="@drawable/tm_det"
android:contentDescription="@string/desc"/>
<ImageView
android:id="@+id/conference_logo"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignBottom="@+id/team_2_logo"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:src="@drawable/east" />
<TextView
android:id="@+id/team_1_name"
android:layout_width="76dp"
android:layout_height="30dp"
android:layout_marginTop="16dp"
android:layout_toRightOf="@+id/team_1_logo"
android:gravity="center"
android:text="@string/team_van"
android:textColor="@color/black"
android:textSize="12dp" android:textStyle="bold"/>
<TextView
android:id="@+id/team_2_name"
android:layout_width="76dp"
android:layout_height="30dp"
android:layout_marginTop="16dp"
android:layout_toLeftOf="@+id/team_2_logo"
android:ellipsize="none"
android:gravity="center"
android:text="@string/team_det"
android:textColor="@color/black"
android:textSize="12dp" android:textStyle="bold"/>
<ImageView
android:id="@+id/series_info_bg"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:layout_centerHorizontal="true"
android:src="@drawable/bg_conference_team_series_info"
android:layout_alignParentBottom="false"
android:layout_marginTop="8dp" android:layout_below="@id/team_1_name"/>
<TextView
android:id="@+id/series_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/series_info"
android:textColor="@color/black"
android:textSize="12dp" android:layout_alignParentBottom="false"
android:layout_alignBottom="@id/series_info_bg" android:textStyle="bold"/>
<TextView
android:id="@+id/next_game_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/team_1_logo"
android:layout_alignParentBottom="false"
android:text="@string/game_time" android:gravity="left|center_vertical"
android:textColor="@color/white" android:textSize="11dp" android:textStyle="bold"
android:layout_below="@id/series_info_bg" android:layout_marginTop="5dp"/>
</RelativeLayout>
嵌入它的布局是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/listview_item_manual" >
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/header_blue"
android:orientation="horizontal"
android:paddingBottom="8dip"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="8dip" >
</LinearLayout>
<ListView android:id="@android:id/list"
android:background="@android:color/black"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
listView适配器是一个自定义游标适配器。我没有做任何特别的事情,只是从第一个布局中膨胀行:
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return mInflater.inflate(R.layout.row_series, null);
}