Android layout_weight 属性使用介绍

解释:layout_weight  参数为整型值 ,它的值用于指定父控件空闲空间的分配比例。

下面举例说明

下图中红色部分即为空闲空间

相关代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#ff0000" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00ff00"
            android:textSize="30sp"
            android:text="first" />
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#ffff00"
            android:textSize="30sp"
            android:text="second" />
    </LinearLayout>
</LinearLayout>

设置两个TextView的layout_weight属性为1

如图,first和second占满了父控件控件,layout_weight都设置为1的意义为:

将空闲空间平均分为2份,first和second各占一份,并不是将整个父控件分为2份

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff0000"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00ff00"
            android:text="first"
            android:textSize="30sp" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#ffff00"
            android:text="second"
            android:textSize="30sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#00ff00"
            android:text="first"
            android:textSize="30sp" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#ffff00"
            android:text="second"
            android:textSize="30sp" />
    </LinearLayout>

</LinearLayout>

最后分享一个小技巧,如果想first占父控件的三分之一,second占父控件的三分之二

将控件宽度设置为0,layout_weight设置为相应的比例即可

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#00ff00"
            android:text="first"
            android:textSize="30sp" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:background="#ffff00"
            android:text="second"
            android:textSize="30sp" />
    </LinearLayout>
时间: 2024-10-29 21:51:51

Android layout_weight 属性使用介绍的相关文章

Android LinearLayout的android:layout_weight属性

本文主要介绍Android LinearLayout的android:layout_weight属性意义 android:layout_weight为大小权重,相当于在页面上显示的百分比,它的计算是根据LinearLayout中所有相关元素的此属性值计算的. 除了已经固定大小的,其他设置了此属性的view所占大小(长度或高度)为自己layout_weight属性值/所有layout_weight属性值*总大小.这个属性在android的sdk中都没有介绍.下面举例介绍下 比如在一个layout中

android:layout_weight属性的使用方法总结

原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6282826.html android:layout_weight属性可以和其他属性配合使用,产生多种效果,但如果我们不清楚各种配合的使用,也容易产生一些 意想不到的结果,今天我们就认真的总结一下android:layout_weight属性的各种用法和产生的效果,方便今后直接拿来使用. 首先声明一句,我们一般只在LinearLayout中使用该属性,以下各种情况都是在LinearLayout中产

android:layout_weight属性的工作原理

android:layout_weight属性告知LinearLayout如何进行子组件的布置安排. 我们已经为两个组件设置了同样的值,但这并不意味它们在屏幕上占据着同样的宽 度.在决定子组件视图的宽度时,LinearLayout使用的是layout_width与 layout_weight参数的混合值.LinearLayout是分两个步骤来设置视图宽度的. activity_main.xml 1 <LinearLayout xmlns:android="http://schemas.an

Android UI之android:layout_weight属性以及控件的比例控制

这两天在做一个Android界面的时候采用了linearlayout线性布局,并在其中放置了textview控件,设置android:layout_width属性为wrap_content时,eclipse提示说这里使用0dp取代wrap_content能获得更好的体验,顿时产生了好奇,为什么使用0dp会更好?于是探究了一番,网上已有相关的文章,学习之后作了一个总结. 首先解释一下Android:layout_weight属性的作用,其实简单理解就是用来分配空间大小,至于怎么分配,分配的是哪些空

android:layout_weight 属性解析

1.一个LinearLayout中有多个Textview,其中一个textview是多行时.它们会第一行对齐(根据父类方法基线对齐), 在LinearLayout中设置baselineAligned = "false" 可使控件对齐. 2.在横向的LinearLayout中使用layout_weight时,一般设置 layout_width = "0dp", 如下图就是先分配了"111111111111"的宽度后,再把剩余的宽度按1:2:3分别分

[Android] android:layout_weight 属性的工作原理

该属性告知 LinearLayout 如何安排子组件的布局: 水平方向的 LinearLayout,查看 layou_width 和 layout_weight以决定子组件的宽度. 垂直方向的 LinearLayout,查看 layou_height 和 layout_weight以决定子组件的高度. 原文地址:https://www.cnblogs.com/fphuang/p/8453350.html

Android相关属性的介绍:android:exported = true

在Activity中该属性用来标示:当前Activity是否可以被另一个Application的组件启动:true允许被启动:false不允许被启动. android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性. 总体来说它的主要作用是:是否支持其它应用调用当前组件. 例如: <activity android:exported="true" …/> 注意: Android

Android 布局学习之——LinearLayout的layout_weight属性

一直对layout_weight属性感到比较困惑,今天学习一下,来深入了解layout_weight属性和它的用法.     定义     首先,看看Android官方文档是怎么说的,毕竟人家才是权威嘛. 官方文档的意思是: layout_weight属性用于分配LinearLayout中的的额外空间(extra space).                  如果View不想拉伸的话,layout_weight值设置为0.否则的话这些像素会按比例分配到 这些weight值大于0的所有View

android:layout_weight属性详解 (转)

在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提供table这样的控件,虽然有TableLayout,但是它并非是我们想象中的像html里面的table那么好用,我们常用ListView实现table的效果,但是列对齐确比较麻烦,现在用LinearLayout及属性android:layout_weight能很好地解决.下面我们共同体验下layo