1

ここではAndroid開発に不慣れですが、非常に単純な問題が発生しているようです。画面を3つの線形レイアウトでレイアウトしようとしています。上部が12.5%、中央が73%、下部が14.5%です。一番上の領域に、ImageViewを一番上の線形レイアウトの中に入れて相対レイアウトを配置したいと思います。(このレイアウトには、ボタンなどすべてが含まれていますが、問題を示すために削除しました)。

ImageViewを削除すると、すべてが完全にブロックされ、正しいサイズの素敵な長方形の領域が得られます。ただし、ImageViewを使用すると、上部の線形領域の高さが少なくとも画面の3/4に拡張されます。

私はRelativeLayoutを一番上の線形領域内にとどまらせたいです。何か案は?

ちなみに、私のdrawable / top_barは、ネイティブで幅800ピクセル、高さ186ピクセルです。

レイアウトは次のとおりです。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/masterLinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fitsSystemWindows="false"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout
        android:id="@+id/linearTop"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight=".125"
        android:orientation="horizontal"
        android:layout_alignParentTop="true" >

    <RelativeLayout
        android:id="@+id/topToolbarRelativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true" >

        <ImageView
            android:id="@+id/topBar"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitStart"
            android:src="@drawable/top_bar" />

    </RelativeLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearMiddle"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight=".730">

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearBottom"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        android:layout_weight=".145">

    </LinearLayout>
</LinearLayout>
4

2 に答える 2

1

倍率を fitXY に設定してみてください。何かのようなもの :

android:scaleType="fitXY"
于 2013-03-08T18:33:27.950 に答える
0

私はちょうどそれをテストしました。ImageViewを次のように変更します。

 <ImageView
        android:id="@+id/topBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:scaleType="fitStart"
        android:src="@drawable/top_bar" />
于 2013-03-08T18:35:25.223 に答える