首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

小弟我的Android进阶之旅->关于android:layout_weight属性的一个面试题

2013-10-28 
我的Android进阶之旅------关于android:layout_weight属性的一个面试题最近碰到一个面试题,按照下图,由Bu

我的Android进阶之旅------>关于android:layout_weight属性的一个面试题

最近碰到一个面试题,按照下图,由Button和EditText组成的界面下厨布局代码,解决这题目需要使用android:layout_weight的知识。

小弟我的Android进阶之旅->关于android:layout_weight属性的一个面试题

首先分析上图所示的界面可以看成一下3个部分。

    界面顶端的3个按钮。界面中间的EditText。界面底端的1个按钮。
其中第1部分和第3部分分别在界面顶端和底端显示,而第2部分的EditText充满了剩余的空间。如果想让一个组件充满整个屏幕,需要将android:layout_width和android:layout_height都设成fill_parent或者match_parent。我们可以将第1部分看成一个整体,android:layout_height的值设成wrap_content,第3部分的android:layout_height的值也设成wrap_content,那么第2部分的<EditText>标签的android:layout_weight属性值要设为一个大于0的浮点数(例如1)。这样EditText就会充满整个剩余空间。否则EditText会占用第3部分的Button空间,这样界面底端的按钮就会显示不出来。现在来看第1部分的3个按钮。这3个按钮分钟占了水平宽度的1/4、2/4、1/4。这种按比例摆放的组件一般都需要设置标签的android:layout_weight属性。按重要程度可将3个Button的android:layout_weight属性从左到右依次设为2、1、2。具体的实现布局代码如下所示:
<?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" >    <!-- 顶端的3个按钮布局 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <!-- 该按钮占1/4宽度 -->        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="1/4" />                <!-- 该按钮占2/4宽度 -->        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="2/4" />                <!-- 该按钮占1/4宽度 -->        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="1/4" />    </LinearLayout>        <!-- 充满剩余空间的EditText组件 -->    <EditText        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="2"        android:text="EditText(充满上方和下方按钮之间的整个屏幕)" />    <!-- 屏幕底端的按钮 -->    <Button android:layout_width="match_parent"        android:layout_height="wrap_content" android:text="按钮"/></LinearLayout>

    关于android:layout_weight的更多介绍可以参考一下资源:
    http://www.cnblogs.com/angeldevil/archive/2012/04/08/2437747.html
    http://blog.csdn.net/softmanfly/article/details/7636510
    http://developer.android.com/guide/topics/ui/layout/linear.html#Weight

==================================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

==================================================================================================


1楼u011960402昨天 21:17
不错,支持一个
Re: qq446282412昨天 21:44
回复u011960402n谢谢支持!

热点排行