Android开发-java版:布局

布局

1.LinearLayout布局(线性布局)

修改根布局为LinearLayout布局

使用android:orientation指定线性方向

vertical代表垂直方向

horizontal代表水平方向

如果android:orientation的值为horizontal,则不能将内部控件宽度设置为match_parent(与父元素同宽),因为会遮挡水平方向上的其他控件

同样,如果android:orientation的值为vertical,则不能将内部控件高度设置为match_parent(与父元素同高),会遮挡垂直方向上的其他控件

android:layout_gravity是控件在布局中的对齐方式

布局中==> 上:top;下:bottom;左:start/left;右:end/right;

start和end是开始边和结束边的方向

++如果使用android:layoutDirection="ltr",则表示左到右==>left to right,开始边就是左边,结束边就是右边(写在父布局里)++

++如果使用android:layoutDirection="rtl",则表示右到左==>right to left,开始边就是右边,结束边就是左边(写在父布局里)++

那么在horizontal水平布局中,三个按钮上中下就是top、center、bottom

在vertical垂直布局中,三个按钮左中右就是start、center、end

我们将android:layout_width设置为0dp,同时给android:layout_weight设置一个值,如下,系统会将整个布局中同一方向上的layout_weight值相加,然后以当前控件的值占总值的大小为当前控件设置对应的大小。(比如这里是水平方向上相加,1/(1+1),于是各占一半)

也可以设置垂直方向,需要将layout_height设置为0dp

如果我们将按钮的layout_weight删除,同时将layout_width改回wrap_content,这表示,按钮按照内容所占大小自动调整,然后EditText控件会占满剩余空间。

2.RelativeLayout(相对布局)

1.控件相对于父布局定位

2.控件相对于控件定位

使用id指定相对控件的引用

layout_above指一个控件在相对控件的上方

layout_toLeftOf指一个控件的右边与相对控件的左边对齐

layout_alignLeft指一个控件的左边与相对控件的左边对齐

3.ConstraintLayout(约束布局)

在约束布局中,水平和垂直方向上必须至少有一个约束条件

app:layout_constraintHorizontal_bias表示在水平方向上的偏移量

app:layout_constraintVertical_bias表示在垂直方向上的偏移量

想要使用以上的偏移量,需要保证在各个方向上有两个约束,水平方向左右,垂直方向上下。

可以以一个控件的位置去约束另一个控件

4.Layout(自定义布局)

1.在layout里创建一个title.xml,随意写一个标题栏

2.然后在主活动中引入

3.隐藏自带标题栏

在.java文件中使用actionBar.hide()隐藏

4.运行即可看到自定义的标题栏

相关推荐
ForteScarlet1 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
xian_wwq1 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
小弥儿2 小时前
GitHub今日热榜 | 2026-09-04:Agent省 token 成今日主线
学习·开源·github
前端精髓2 小时前
NestJS 是什么(对着 Spring Boot 一起学习)
spring boot·后端·学习
方白羽2 小时前
Android Studio 自动国际化插件:SmartI18n
android·android studio·intellij idea
kyrie_sakura3 小时前
MySQL数据库学习笔记2--系统函数(分组,单行,窗口函数)
数据库·学习·mysql
dadaobusi3 小时前
学习:XS-Gem5参数
学习
沪上企服通3 小时前
代账数据的可移植性设计:开放接口、账套导出与 exit strategy 工程笔记(上海 5 家样本对照)
笔记·策略模式
江湖人称菠萝包4 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter8-子窗口控件
windows·笔记
LearnYard4 小时前
技术博主实测:2026年大语言模型辅助学习工具横向对比
人工智能·学习·语言模型