在这一节中,我们将修改MainActivity的布局。New Project Wizard为我们创建了一个名为activity main.xml的文件。打开这个文件并参考图9-2(如前面所示)和代码清单9-1。 图 9-2中的视图是竖直排列的,因此竖直方向的LinearLayout看起来是根ViewGroup的首选 。视图的宽度需要充满父ViewGroup,因 此 将 所 有 layout_width设 置 为 fill_parento filter parent和 m atchjarent属性值可以相互替换使角。在指定布局中视图的高度时,我们想 要尽量避免使用硬编码的dp(密度无关像素)值。相反,此处将要使用名为layout_weight的属性,要求Android Studio根据视图占父ViewGroup的百分比来渲染其高度。 layout weight属性用于计算某个子视图占父ViewGroup中所有子视图layout_weight 值之和的比例。例如,假定在竖直方向的LinearLayout中嵌入了一 个 TextView和一 个Button。如果 Text View 的 layoutweight 为 30,而 Button 的 layoutweight 为 70,那么 Text View将占据其父布局高度的30%,而 Button将占据其父布局高度的70%。为了简化我们的任务, 假定layout_weight的总和为100,以便以百分数的形式表示所有layout_weight值。这个技 巧的唯一问题在于layout_height是 Android视图的必需参数,因此我们必须将layout height 设置为0 dp。将 layout height设置为0 dp之后,Android会忽略layout height并转而使用 layoutweight。
在查看这个布局中的视图时,注意某些视图有ID ,而另外一些则没有。仅当Java代 码中将要引用某个视图时,为其赋予ID 值才是有用的。如果视图在用户使用过程