1

我是这里的 Android 开发新手,但我似乎遇到了一个非常简单的问题。我正在尝试用三种线性布局来布置屏幕,顶部占 12.5%,中间占 73%,底部占 14.5%。在顶部区域,我想放置一个相对布局,在顶部线性布局内放置一个 ImageView。(这个布局还有很多东西,有按钮和所有东西,但我把它剥离了以显示问题)。

如果我删除 ImageView,一切都会完美地遮挡,我会得到正确大小的漂亮矩形区域。但是使用 ImageView,顶部线性区域的高度至少扩展为屏幕的 3/4!

我希望 RelativeLayout 保持在顶部线性区域内。有任何想法吗?

顺便说一句,我的 drawable/top_bar 本身是 800px 宽 x 186px 高。

这是布局:

<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 回答