web-dev-qa-db-ja.com

Android LinearLayout背景画像

画像を背景として表示しようとすると、ビューに問題が発生します。スペース全体が使用され、線形レイアウトの2番目の子(2つのRelativeLayoutが隣り合って表示されます)が表示されません。

画像を背景として設定し、その上に他のレイアウト要素を保持するにはどうすればよいですか?

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

    <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:paddingLeft="5dp"
        Android:paddingRight="5dp" >

    <ImageView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/globe"
        Android:layout_gravity="top"
        />

    </RelativeLayout>

    <LinearLayout
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="horizontal" >


      <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:paddingLeft="5dp"
        Android:paddingRight="5dp" >
        </RelativeLayout>


      <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:paddingLeft="5dp"
        Android:paddingRight="5dp" >
        </RelativeLayout>

    </LinearLayout>


</LinearLayout>
7
user3141985

少し遅いですが、私の問題は次のコードで解決されました。

ImageViewを使用して背景画像を設定し、その上に線形レイアウトを表示しました。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:orientation="vertical" >

    <ImageView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_gravity="top"
        Android:contentDescription="@string/my_msg"
        Android:src="@drawable/my_super_bg_image" />

    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:background="@drawable/top_style"
        Android:orientation="vertical" >

        <RelativeLayout
            Android:id="@+id/today"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:paddingLeft="5dp"
            Android:paddingRight="5dp" >

            <TextView
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentTop="true"
                Android:layout_centerHorizontal="true"
                Android:text="some text here"
                Android:textSize="24sp" />
        </RelativeLayout>

    </LinearLayout>

</FrameLayout>

誰かがもっと知る必要があるなら、私は答えを更新します。

ありがとう。

26
user3141985

使用する Android:backgroundあなたのLinearLayout

4

ImageViewを使用する代わりに、Android:backgroundプロパティを使用する必要があります。

0
greywolf82