所以我的main.xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1">
<FrameLayout
android:id="@+id/headerFrameLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.15"
android:background="#597eAA">
<ImageView
android:id="@+id/logoImage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#7ba1d1"
android:src="@drawable/logo_conekta"/>
</FrameLayout>
<LinearLayout
android:id="@+id/bodyLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:background="#f3f3f3"
android:orientation="horizontal" >
</LinearLayout>
<FrameLayout
android:id="@+id/footerFrameLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.15"
android:background="#597eAA" >
</FrameLayout>
我想要完成的是将屏幕拆分为三个:高度相等的页眉和页脚以及其余部分的主体。
当我运行此代码时,headerFrameLayout最终会成为footerFrameLayout的大小+ logoImage的高度。例如:headerFrameLayout = 163,logoImage = 58,footerFrameLayout = 105,bodyLinearLayout = 493。
我不明白为什么标题也会考虑照片的大小。有什么想法吗?
答案 0 :(得分:3)
这并不明显,但这就是它的工作原理。如果您希望15%,70%,15%的分布设置为每个元素的高度为0dp
而不是wrap_content
。
答案 1 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:weightSum="1">
<FrameLayout
android:id="@+id/headerFrameLayout"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.15"
android:background="#597eAA">
<ImageView
android:id="@+id/logoImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#7ba1d1"
android:src="@drawable/logo_conekta"/>
</FrameLayout>
<LinearLayout
android:id="@+id/bodyLinearLayout"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:background="#f3f3f3"
android:orientation="horizontal" >
</LinearLayout>
<FrameLayout
android:id="@+id/footerFrameLayout"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.15"
android:background="#597eAA" >
</FrameLayout>
</LinearLayout>