android的LinearLayout布局

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version= "1.0"  encoding= "utf-8" ?>
<LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
     android:layout_width= "fill_parent"
     android:layout_height= "fill_parent"
     android:paddingLeft= "16dp"
     android:paddingRight= "16dp"
     android:orientation= "vertical"  >
     <EditText
         android:layout_width= "fill_parent"
         android:layout_height= "wrap_content"
         android:hint= "@string/to"  />
     <EditText
         android:layout_width= "fill_parent"
         android:layout_height= "wrap_content"
         android:hint= "@string/subject"  />
     <EditText
         android:layout_width= "fill_parent"
         android:layout_height= "0dp"
         android:layout_weight= "1"
         android:gravity= "top"
         android:hint= "@string/message"  />
     <Button
         android:layout_width= "100dp"
         android:layout_height= "wrap_content"
         android:layout_gravity= "right"
         android:text= "@string/send"  />
</LinearLayout>
<!--    android:orientation= "vertical"  代表方向垂直-->
<!--  android:layout_weight= "1"  代表所占权重(比例)    message占满其他元素剩余的地方,
         如果有多个android:layout_weight= 1 ,则平分剩余空间
          android:gravity= "top" 表示从上面开始占(写了android:layout_weight的)
          
          
            android:layout_gravity= "right"
            整个组件的位置居右
-->

wKiom1hIFsWCFl9PAABRkFm5EbE270.png-wh_50

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version= "1.0"  encoding= "utf-8" ?>
<LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
     android:layout_width= "fill_parent"
     android:layout_height= "fill_parent"
     android:paddingLeft= "16dp"
     android:paddingRight= "16dp"
     android:orientation= "horizontal"  >
     <EditText
         android:layout_width= "wrap_content"
         android:layout_height= "wrap_content"
         android:hint= "@string/to"  />
     <EditText
         android:layout_width= "wrap_content"
         android:layout_height= "wrap_content"
         android:hint= "@string/subject"  />
     <EditText
         android:layout_width= "wrap_content"
         android:layout_height= "0dp"
         android:layout_weight= "1"
         android:gravity= "top"
         android:hint= "@string/message"  />
     <Button
         android:layout_width= "100dp"
         android:layout_height= "wrap_content"
         android:layout_gravity= "right"
         android:text= "@string/send"  />
</LinearLayout>

wKioL1hIFxSSehAQAAAj4zxp0jY739.png-wh_50

LinearLayout 是一个视图组,它所有的子视图都在一个方向对齐,水平或者垂直。你可以指定布局的方向通过 android:orientation 属性。

LinearLayout的所有子视图排列都是一个靠着另一个,因此垂直列表每行仅仅有一个子视图,不管有多宽。水平列表只能有一行的高度(最高子视图的高度加上边距距离)。LinearLayout 期望子视图之间都有margin,每个子视图都有gravity

线性布局支持给个别的子视图设定权重,通过android:layout_weight属性。就一个视图在屏幕上占多大的空间而言,这个属性给其设定了一个重要的值。一个大的权重值,允许它扩大到填充父视图中的任何剩余空间。子视图可以指定一个权重值,然后视图组剩余的其他的空间将会分配给其声明权重的子视图。默认的权重是0.

例如,如果有三个文本框,其中两个声明的权重为1,另外一个没有权重,没有权重第三个文本字段不会增加,只会占用其内容所需的面积。其他两个同样的会扩大以填补剩余的空间,在三个文本域被测量后。如果第三个字段,然后给定的权重为2(而不是0),那么它现在的声明比其他的更重要,所以它得到一半的总的剩余空间,而前两个平均分配剩余的。



 本文转自 matengbing 51CTO博客,原文链接:http://blog.51cto.com/matengbing/1880518

相关文章
|
5月前
|
XML Android开发 数据安全/隐私保护
10. 【Android教程】网格布局 GridLayout
10. 【Android教程】网格布局 GridLayout
294 1
|
22天前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
3月前
|
移动开发 监控 前端开发
构建高效Android应用:从优化布局到提升性能
【7月更文挑战第60天】在移动开发领域,一个流畅且响应迅速的应用程序是用户留存的关键。针对Android平台,开发者面临的挑战包括多样化的设备兼容性和性能优化。本文将深入探讨如何通过改进布局设计、内存管理和多线程处理来构建高效的Android应用。我们将剖析布局优化的细节,并讨论最新的Android性能提升策略,以帮助开发者创建更快速、更流畅的用户体验。
63 10
|
5月前
|
Android开发
08. 【Android教程】相对布局 RelativeLayout
08. 【Android教程】相对布局 RelativeLayout
72 0
|
1月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
94 0
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
52 1
|
4月前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
127 15
|
3月前
|
XML 数据可视化 API
Android经典实战之约束布局ConstraintLayout的实用技巧和经验
ConstraintLayout是Android中一款强大的布局管理器,它通过视图间的约束轻松创建复杂灵活的界面。相较于传统布局,它提供更高灵活性与性能。基本用法涉及XML定义约束,如视图与父布局对齐。此外,它支持百分比尺寸、偏移量控制等高级功能,并配有ConstraintSet和编辑器辅助设计。合理运用可显著提高布局效率及性能。
220 0
|
3月前
|
Android开发
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
54 0
|
4月前
|
XML Android开发 数据安全/隐私保护
使用RelativeLayout布局Android界面
使用RelativeLayout布局Android界面