`
wqkerry
  • 浏览: 14139 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android:Layout_weight属性解析

阅读更多

 

 Layout_weight属性只有在Linearlayout中才有效果。

该属性跟android:layout_width为wrap_content和match_parent有很大关系。

简单的说:

          以如下布局为例:

     

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_width="fill_parent"   
    android:layout_height="wrap_content"   
    android:orientation="horizontal" >   
    <TextView   
        android:background="#ff0000"   
        android:layout_width="**"   
        android:layout_height="wrap_content"   
        android:text="1"   
        android:textColor="@android:color/white"   
        android:layout_weight="1"/>   
    <TextView   
        android:background="#cccccc"   
        android:layout_width="**"   
        android:layout_height="wrap_content"   
        android:text="2"   
        android:textColor="@android:color/black"   
        android:layout_weight="2" />   
     <TextView   
        android:background="#ddaacc"   
        android:layout_width="**"   
        android:layout_height="wrap_content"   
        android:text="3"   
        android:textColor="@android:color/black"   
        android:layout_weight="3" />   
</LinearLayout> 

 

 

    若android:layout_width为wrap_content时,此时系统会给三个TextView 分配空间,此空间刚好包裹住各自的内容,然后系统会 根据所设置的layout_width数值,将剩余的空间按比例分配。

 

 

   若android:layout_width为match_parent时,此时这样计算剩余空间:

   剩余空间数=屏幕宽度-3x屏幕宽度=-2屏幕宽度

   第一个textview所占空间:屏幕宽度+(1/6)x(-2屏幕宽度)=2/3个屏幕宽度。

   第二个textview所占空间:屏幕宽度+(2/6)x(-2屏幕宽度)=1/3个屏幕宽度。

   第三个textview所占空间:屏幕宽度+(3/6)x(-2屏幕宽度)=0个屏幕宽度

分享到:
评论

相关推荐

    Android布局文件的属性值解析

    ### Android布局文件的属性值解析 在Android应用开发过程中,布局文件是构建用户界面的核心组成部分。布局文件通过XML格式定义了界面元素的位置、大小及样式等属性,这些属性的合理设置直接影响到应用的用户体验和...

    android_所有布局属性和UI控件

    以下是对给定文件中提到的关键知识点的深入解析: ### 一、RelativeLayout布局 **RelativeLayout**是Android中的一种布局方式,允许控件基于其兄弟或父容器的位置进行定位。以下是一些关键的布局属性: - **...

    计算器(android)

    ntent" android:layout_height="wrap_content" android:layout_weight="1" android:text="/" /&gt; &lt;LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap...

    Android App中的多个LinearLayout嵌套布局实例解析

    查了下资料,说是要设置layout_weight属性 资料说得不是很清楚,也没仔细看,就去弄,结果越弄越混乱。 于是静下心来,自己写xml测试,发现如下。 如果LinearLayout是最外面的一层,它是不会弹出layout_weight属性的...

    Android 相对布局实例

    - `android:layout_weight`:当子视图需要按比例分配空间时,权重属性非常有用。它允许子视图占据剩余空间的一部分。 - `android:layout_margin`:用于设置视图与其他视图或边界之间的距离,有上、下、左、右四个...

    Android学习笔记13:表格布局管理器TableLayout

    1. `android:layout_weight`:与LinearLayout类似,可以用来分配行的权重,决定行占据的空间大小。 2. `android:baselineAligned`:默认为true,表示所有列的基线对齐。设为false则顶部对齐,常用于多行文本显示不...

    android_通讯录源码

    - 通过`android:layout_weight="1"`来让每个按钮均分宽度,实现底部菜单的平均分配。 #### 三、Activity设计概述 接下来,我们来看一下与各个界面逻辑相关的Java类文件。 ##### 3.1 AddNew.java `AddNew.java`...

    Android 开发

    #### 一、RelativeLayout 属性解析 在Android应用开发中,`RelativeLayout`是一种非常重要的布局方式,通过它可以让开发者根据其他控件的位置来定位当前控件,实现更加灵活多变的界面布局。 ##### 相对于给定ID...

    android 布局参数中文注释说明

    2. `layout_weight`:这是一个非常重要的属性,用于分配子视图的剩余空间。权重高的视图会占用更多的空间。 3. `gravity`:设置子视图在父视图中的对齐方式,如`center`、`left`、`right`、`top`、`bottom`等。 4. `...

    Android建议登陆界面代码

    - **android:layout_weight**:当布局宽度设为`match_parent`时,此属性决定EditText占据多少剩余空间。 - **android:gravity**:设置文本内容的对齐方式。 - **android:hint**:设置提示文本,在用户未输入任何内容...

    android UI界面设计

    - **android:layout_weight**:用于分配父布局中剩余空间的比例,与“wrap_content”搭配使用时,可以使子元素根据权重值动态分配空间。 - **android:layout_margin**:定义子元素边缘与其父布局边缘的间距。 #### ...

    Android学习笔记14:相对布局管理器RelativeLayout

    8. **android:layout_weight**:在RelativeLayout中,weight属性通常在结合LinearLayout使用时才有意义,但它可以帮助在多个视图之间分配空间。 在实际的开发过程中,我们可以通过XML布局文件来配置这些属性,或者...

    Android五种布局模式

    通过`android:columnCount`和`android:rowCount`属性定义网格大小,`android:layout_column`和`android:layout_row`指定视图所在的列和行。 ```xml android:columnCount="2"&gt; android:layout_row="0" ...

    Android代码(相对布局).zip

    - 使用`android:layout_weight`属性实现弹性布局效果,让视图根据需要自动调整大小。 - 使用`&lt;merge&gt;`标签减少布局层次,优化性能。 7. **总结**: "Android代码(相对布局).zip"中的"Pro07(相对布局)"项目...

    android listview实现新闻列表展示效果 (1).zip

    android:layout_weight="1" android:layout_marginStart="16dp" android:textSize="18sp" android:textStyle="bold" /&gt; android:id="@+id/news_date" android:layout_width="wrap_content" android:layout...

    GridLayout 布局管理详细解析

    然而,我们可以通过`android:layout_width`和`android:layout_height`设定固定尺寸,或者使用`android:layout_weight`来分配剩余空间。`android:layout_gravity`属性可以控制控件在单元格中的对齐方式,例如居中、靠...

    android 布局文件

    此外,可以使用`android:layout_weight`属性分配子视图的相对大小,实现灵活的尺寸分配。 #### 2.2 `RelativeLayout` `RelativeLayout`允许子视图相对于彼此或父视图进行定位,提供了更复杂的布局选项。通过使用`...

    菜鸟Android开发系列之:线性布局

    在线性布局中,可以通过设置`android:layout_weight`属性来调整子视图的相对大小。权重越高,分配的空间越大。权重值可以是浮点数,如: ```xml android:layout_width="0dp" &lt;!-- 必须设为0dp,权重才能生效 --&gt; ...

    TableLayout背景

    - `android:layout_weight`:在TableRow中分配空间权重,用于决定各子View占据的相对宽度。 - `android:padding` 和 `android:margin`:分别控制行内元素的内边距和外边距,以调整元素间距。 4. **TableLayout与...

Global site tag (gtag.js) - Google Analytics