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.运行即可看到自定义的标题栏

相关推荐
阿巴斯甜11 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker12 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952713 小时前
Andorid Google 登录接入文档
android
黄林晴14 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_1 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android