Android LinearLayout的android:layout_weight属性

本文主要介绍Android LinearLayout的android:layout_weight属性意义

android:layout_weight为大小权重,相当于在页面上显示的百分比,它的计算是根据LinearLayout中所有相关元素的此属性值计算的。

除了已经固定大小的,其他设置了此属性的view所占大小(长度或高度)为自己layout_weight属性值/所有layout_weight属性值*总大小。这个属性在android的sdk中都没有介绍。下面举例介绍下

比如在一个layout中显示3个TextView,第一个TextView长度占20%,第二个长度占50%,第三个占长度30%,

则比例为20%:50%:30%=2:5:3。layout代码如下

Java代码  

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <TextView android:id="@+id/textView1"
  7. android:layout_width="wrap_content"
  8. android:layout_height="match_parent"
  9. android:layout_weight="2"
  10. android:layout_alignParentLeft="true"
  11. android:gravity="center_vertical"
  12. android:text="文本1" />
  13. <TextView android:id="@+id/textView2"
  14. android:layout_width="wrap_content"
  15. android:layout_height="match_parent"
  16. android:layout_weight="5"
  17. android:layout_alignParentLeft="true"
  18. android:gravity="center_vertical"
  19. android:text="文本2" />
  20. <TextView android:id="@+id/textView3"
  21. android:layout_width="wrap_content"
  22. android:layout_height="match_parent"
  23. android:layout_weight="3"
  24. android:layout_alignParentLeft="true"
  25. android:gravity="center_vertical"
  26. android:text="文本3" />
  27. </LinearLayout>

从以上代码可以看出只需要设置各个TextView的android:layout_weight属性值为对应的比例即可

其中android:layout_alignParentLeft="true" android:gravity="center_vertical"是为了方便查看而设置

Android LinearLayout的android:layout_weight属性

时间: 2024-12-28 20:58:43

Android LinearLayout的android:layout_weight属性的相关文章

Android LinearLayout布局的layout_weight属性探究

Android布局文件中的layout_weight属性仅在LinearLayout布局中有效. google推荐:当设置了控件的layout_weight属性时,该控件相应的layout_width或者layout_height属性应该设置为0dp. 如果设置了控件的layout_weight属性同时,又设置了layout_width或者layout_height属性,此时有多种情况需要分析,(可能某些控件设置了layout_weight属性,某些没有设置,设置了layout_weight属性

LinearLayout中的layout_weight属性详解

线性布局中的layout_weight顾名思义即为定义各个组件在整个界面中所占的权重.常用两种实现方法 1:最为简单的实现方法,当orientation为水平时垂直layout_height=''0dp",同理当orientation为垂直时,将layout_width设定为0dp,此时在一个直接父布局中layout_width中的数值越大这个组件占的界面就越大.示例代码如下: <LinearLayout xmlns:android="http://schemas.android

Android:LinearLayout布局中Layout_weight的深刻理解

首先看一下LinearLayout布局中Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重.很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间. 看下面代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an

Android UI: LinearLayout中layout_weight 属性的使用规则

首先来查看android sdk文档,有这么一段话 LinearLayout also supports assigning a weight to individual children with the android:layout_weight attribute. This attribute assigns an "importance" value to a view in terms of how much space is should occupy on the sc

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

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

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

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

Android知识点剖析系列:深入了解layout_weight属性

摘录自:http://www.cnblogs.com/net168/p/4227144.html 前言 Android中layout_weight这个属性对于经常捣鼓UI的我们来说,肯定不会陌生.但是我们在真正使用这个属性时,经常会出现一些莫名奇妙的布局效果:如果仅仅知其然而不知其所以然,一些意外的布局效果一定让我们颇为头疼.在本文中,将对layout_weight这个属性详细剖析. 正文 从代码讲起: <LinearLayout xmlns:android="http://schemas

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

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

50一个Android开发技巧(01 利用好layout_weight属性)

问题:如何将一个Button放置在布局的中间,并设置其宽度parent的50%? 分析:问题想要达到的效果应该是这样: (原文地址:http://blog.csdn.net/vector_yi/article/details/24397733) 这看起来不难,但非常多开发人员并不知道达到这样效果的最佳方法. 解决:在此我们将weightSum属性与layout_weight属性一起利用. <LinearLayout xmlns:android = "http://schemas.andro