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()隐藏

