所以我试图在屏幕上显示三个部分。一个顶级的工具栏" -esque东西占据了屏幕的10%。我稍后将填充的数据占据屏幕的70%,最后占据屏幕底部20%的搜索栏。
我认为这将是一件简单的事情:一个线性布局,有3个线性布局儿童,重量分别为0.1,0.7和0.2。但是,这不起作用。当我更改某些视图的layout_weight时,它会更改其他视图占用的屏幕数量。这是我目前的代码:
<?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">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.95"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/transparent"
>
</LinearLayout>
</LinearLayout>
这给了我一个占据屏幕20%的第一个空白布局(是的,重量为0.95),第二个空布局占据屏幕的80%,最终布局为空。当我给最终布局一个权重,比如0.1时,它会给第一个布局增加一点空间。我认为我有一些流氓格式。
答案 0 :(得分:0)
来自layout_weight documentation:
此属性指定&#34;的重要性&#34;根据它应占据屏幕的空间大小来定义视图。较大的权重值允许它扩展以填充父视图中的任何剩余空间。
换句话说,它表示布局可以占用的剩余空间百分比
如果您不想以这些比例分配空间,那么您应该首先将高度0指定给<someTag class = "someClass">
<whatever class = "anotherClass">
</whatever>
</someTag>
(表示所有屏幕都是可用空间)。
LinearLayouts