Android布局 - 视图不会fill_parent

时间:2014-01-15 16:35:58

标签: java android android-layout relativelayout android-view

我试图制作一个简单的listitem布局。

我的xml如下:

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:background="#ECEBE7">

<RelativeLayout
    android:id="@+id/rankView"
    android:layout_width="40dp"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="#5C5C5C">

        <TextView
            android:id="@+id/rank"
            style="@android:style/TextAppearance.Medium"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:text="1000"
            android:textColor="#FFFFFF" />

</RelativeLayout>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:src="@drawable/search" />

<RelativeLayout
    android:id="@+id/songView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/imageView1"
    android:layout_toRightOf="@+id/rankView"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <TextView
        android:id="@+id/title"
        style="@android:style/TextAppearance.Medium"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="0dp"
        android:paddingTop="3dp"
        android:singleLine="true"
        android:text="song"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/artist"
        style="@android:style/TextAppearance.Small"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/title"
        android:paddingBottom="3dp"
        android:paddingTop="3dp"
        android:singleLine="true"
        android:text="artist"
        android:textColor="#90000000" />
</RelativeLayout>

 </RelativeLayout>

不幸的是,rankView视图只匹配它的内容(高度,而不是宽度),我已经尝试了我知道的所有可能性,但无法确定原因。

PS:在图形布局上,它正在填充它的父级。

编辑:如果它可以提供帮助,第一个布局是此布局的listView2项目的项目:

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ECEBE7" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:gravity="center_horizontal|center_vertical"
    android:text="Internet access is requiered to access the Top"
    android:textColor="#000000"
    android:visibility="invisible" />

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:visibility="visible" />

<ListView
    android:id="@+id/listView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_below="@+id/topText"
    android:visibility="invisible" />

<TextView
    android:id="@+id/topText"
    style="@android:style/TextAppearance.Medium"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="#5C5C5C"
    android:padding="5dp"
    android:text="Top 100 for"
    android:textColor="#FFFFFF"
    android:visibility="visible" />

 </RelativeLayout>

1 个答案:

答案 0 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:background="#ECEBE7">

<RelativeLayout
    android:id="@+id/rankView"
    android:layout_width="40dp"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="#5C5C5C">

试试这个。