`

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代码如下

<?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">   
   	<TextView android:id="@+id/textView1"   
   		android:layout_width="wrap_content"   
   		android:layout_height="match_parent"   
   		android:layout_weight="2"
   		android:layout_alignParentLeft="true"
   		android:gravity="center_vertical"
  		android:text="文本1" /> 
   	<TextView android:id="@+id/textView2"   
   		android:layout_width="wrap_content"   
   		android:layout_height="match_parent"   
   		android:layout_weight="5"
   		android:layout_alignParentLeft="true"
   		android:gravity="center_vertical"
  		android:text="文本2" /> 
   	<TextView android:id="@+id/textView3"   
   		android:layout_width="wrap_content"   
   		android:layout_height="match_parent"   
   		android:layout_weight="3"
   		android:layout_alignParentLeft="true"
   		android:gravity="center_vertical"
  		android:text="文本3" /> 
</LinearLayout>

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

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

 

 

 

分享到:
评论

相关推荐

    2011.10.13(4)——— android android:layout_weight

    在Android开发中,`android:layout_weight`是一个非常重要的属性,尤其在布局管理器中,如LinearLayout。这个属性主要用于在有限的空间内分配组件的大小,根据权重比例来决定每个子视图占据的屏幕空间。本篇文章将...

    Android中的android:layout_weight使用详解

    在Android开发中,`android:layout_weight`是一个关键属性,特别是在使用`LinearLayout`进行界面布局时。`layout_weight`用于指定一个子视图在父视图中的权重,它决定了控件如何分配额外的空间,尤其是在视图的尺寸...

    LinearLayout的属性详解

    LinearLayout是Android开发中的基础布局组件,其主要通过orientation、layout_weight等属性来实现灵活的视图布局。理解并熟练运用这些属性,能够使你在开发过程中更高效地创建用户界面,满足各种设计需求。在实际...

    自动换行的LinearLayout

    为了实现自动换行,我们需要使用`android:layout_width`和`android:layout_weight`属性。`android:layout_width`通常设置为"wrap_content",让每个子视图只占用自身内容的宽度。而`android:layout_weight`属性则用于...

    Android weight属性demo

    在Android开发中,`weight`属性是LinearLayout布局管理器中的一个重要概念,用于实现视图组件的权重分配,尤其是在处理屏幕尺寸适配时显得尤为重要。`weight`属性是Android为了解决在不同分辨率和屏幕尺寸设备上保持...

    Android 控件说明

    - `layout_weight`:用于确定视图在容器中的相对大小,特别是在`LinearLayout`中,当设置了`layout_weight`时,如果`layout_width`或`layout_height`设置为`match_parent`,则会根据权重分配空间。 - `layout_...

    Android Layout样式布局

    - 示例:`android:layout_weight="1"` - **android:padding** - 用途:设置控件内部内容与边界的距离。 - 示例:`android:padding="10dp"` - **android:singleLine** - 用途:若设置为true,则强制控件内容在...

    Android的Layout完全介绍

    LinearLayout还支持设置子元素的weight属性,使得子元素能够按比例占据剩余空间。例如,如果有三个TextView,其中两个weight为1,它们将等比例扩展填充剩余空间,而第三个保持原样。以下是一个LinearLayout的示例: ...

    计算器(android)

    &lt;LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"&gt; &lt;Button android:id="@+id/mButton5" android:layout_...

    Android_layout.rar_android_android 布局_layout

    关键属性有`orientation`(设置布局方向,可选垂直或水平)、`weight`(分配子视图的额外空间比例)以及`layout_gravity`(设置子视图在父视图中的位置)。 2. **RelativeLayout**:相对布局允许子视图相对于其他...

    Android实训购物车页面

    -&lt;LinearLayout android:background="@drawable/aaa" android:weightSum="1" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" xmlns:android=...

    Android布局文件的属性值解析

    `android:layout_weight` 属性用于分配视图在容器中剩余空间的比例。通常与 `match_parent` 配合使用来实现灵活的布局。例如: ```xml &lt;LinearLayout android:layout_width="match_parent" android:layout_height...

    android_所有布局属性和UI控件

    5. **layout_weight** 用于确定控件在布局中的权重,当布局宽度或高度设为 `fill_parent` 时,多个具有不同 `layout_weight` 的控件会按比例分配空间。 6. **layout_gravity** 和 **gravity** 属性分别用于确定控件...

    Android中使用LinearLayout完成的内蒙古导览项目的代码清单 .pdf

    TextView的`layout_weight`属性被设置为1,这意味着它将占据总空间的1/3。ScrollView的`layout_weight`属性设置为2,因此占据剩余的2/3空间。ScrollView内部还有一个垂直的LinearLayout,包含多个ImageView,用于...

    Android中使用LinearLayout完成的内蒙古导览练习题要求说明.pdf

    android:layout_weight="1" ... /&gt; android:layout_weight="2" ... /&gt; ``` 五、添加滚动视图 滚动视图(ScrollView)用于包含多个组件,当内容超出屏幕时可以滚动查看。在ScrollView内,你需要添加一个...

    Android学习指南之Layout 布局--千锋培训

    android:layout_weight="1" android:text="Button 2"/&gt; android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:text="Button 3"/&gt; &lt;/LinearLayout&gt; ``` ...

    android屏幕自适应android属性归类.pdf

    同时,对于布局文件(layout.xml),应避免使用固定尺寸,而是使用相对布局(RelativeLayout)或线性布局(LinearLayout)并结合`layout_weight`属性来实现动态调整组件大小。 `layout_weight`是一个非常有用的属性...

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

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

    Android-Layouts

    `LinearLayout`支持权重属性`android:layout_weight`,该属性允许开发者根据权重比例分配剩余空间。当设置了权重后,`LinearLayout`会将剩余的空间按照各视图权重的比例进行分配。 - **示例**: ```xml ...

    Android_布局详解

    - **权重分配:** 可以通过`android:layout_weight`属性来控制不同组件占据的空间比例。 **示例代码:** ```xml &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation...

Global site tag (gtag.js) - Google Analytics