9

その中RelativeLayoutにいくつかのものがありますが、背景ビューで全体を埋めたいと思っています。これは私が期待するものです:

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#000" >

            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentBottom="true"
                android:layout_margin="1px"
                android:background="#fafafa" />

            <ImageView
                android:id="@+id/im"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_blank_profile" />

        .... and so on.

それはうまくいきません。幅はいっぱいになりますが、高さはゼロに設定されます。ただし、変更layout_alignParentBottomすると機能しlayout_alignBottom="@+id/im"ます(一種;それは満足のいく解決策ではありませんが、少なくとも高さ0ではありません)。

どうしたの?これはバグですか?

4

2 に答える 2

2

から相対的なレイアウトを変更する必要があります

android:layout_height="wrap_content"

android:layout_height="match_parent"

親の高さを子にラップしているため、子は親に合わせて 0 になります。

相対的なレイアウトの上/下に他のものを置きたい場合は、Androidの重みを使用してください。

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0px"  <!-- or 0dip -->
        android:layout_weight="1"
        android:background="#000" >
于 2012-10-17T17:31:52.300 に答える
2

layout_height相対レイアウトのプロパティを次のように設定してみてくださいmatch_parent

alignParentビューからすべてのプロパティを削除し、ビューmatch_parentの幅と高さだけに使用するとどうなるでしょうか?

ロルフ

最終編集?:

ちょっとした例ですが、こんな感じでしょうか。コンテナを使用していますか?内側の RelativeLayout のコンテンツが大きくなると、View はそれに合わせて拡大されます。

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


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


        <View
            android:id="@+id/view1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignBottom="@+id/relativeLayout1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_margin="1px"
            android:background="#fafafa" />

        <RelativeLayout
            android:id="@+id/relativeLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/im"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_blank_profile" />
        </RelativeLayout>
    </RelativeLayout>

</LinearLayout>
于 2012-10-17T17:29:33.960 に答える