我是Android开发的新手,但我似乎遇到了一个非常简单的问题。我试图用三种线性布局布局屏幕,顶部占12.5%,中间占73%,底部占14.5%。在顶部区域,我想放置一个相对布局,在顶部线性布局中使用ImageView。 (这个布局还有很多,有按钮和所有东西,但我把它剥离下来以显示问题)。
如果我删除了ImageView,一切都完美阻挡,我得到了正确大小的漂亮矩形区域。但是使用ImageView,顶部线性区域的高度至少扩展到屏幕的3/4!
我希望RelativeLayout保持在顶部线性区域内。有什么想法吗?
顺便说一下,我的drawable / top_bar本身是800px宽,高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>
答案 0 :(得分:1)
您可以尝试将比例因子设置为fitXY。类似的东西:
android:scaleType="fitXY"
答案 1 :(得分: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" />