Android学习笔记二:编写布局方式和常见布局

界面布局编写包括在XML文件中编写布局(层次更清晰)和在Java代码中编写布局。

android:layout_centerInparent="true"//XML实现控件放到布局中间

layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);//Java实现控件放到布局中间

RelativeLayout relativeLayout=new RelativeLayout(this);//创建线性布局

TextView textView=new TextView(this);
textView.setText("文本内容");
textView.setTextColor(Color.文本颜色);

setContentView(页面名)//显示到布局中

常见布局一:RelativeLayout相对布局

通过相对定位的方式指定子空间位置,即以其他控件或父容器为参照物,摆放控件位置。

//定义格式
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
属性="属性值"
...
>
</RelativeLayout>

常见布局二:LinearLayout线性布局

主要以水平或垂直方式来显示界面中的控件,当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时,显示顺序依次为从上到下。

//定义格式
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal/vertical"
属性="属性值"
...
>//orientation设置线性布局内控件排列顺序的属性
</LinearLayout>

layout_weight//权重属性设置

常见布局三:TableLayout表格布局

采用行、列的形式来管理控件,不需要声明行列数,通过在TableLayout布局添加TableRow布局来控制表格行数,在TableRow布局中添加控件来控制表格的列数。

//定义格式
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
属性="属性值"
...
>
<TableRow>
UI控件
</TableRow>
...
</TableLayout>

//表格布局属性
android:stretchColumns//设置该属性被拉伸
android:shrinkColumns//设置该属性被收缩
android:collapseColumns//设置该列被隐藏

//表格布局控件属性
android:layout_column//设置该单元显示位置
android:layout_span//设置该单元格占据几行,默认为1行。

常见布局四:FrameLayout帧布局

用于屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层显示。

  • 所有控件都默认显示在屏幕左上角
//定义格式
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:foreground=""
android:foregroundGravity=""
属性="属性值"
...
>//android:foreground=""设置前景图像,前景图像始终在最上方
//android:foregroundGravity=""设置前景图像显示位置
</FrameLayout>

常见布局五:ConstraintLayout约束布局

适用于可视化方式编写界面布局,表面是Android studio根据我们操作自动生成,实际仍为XML代码实现。
新属性:

  • 相对定位:一个控件相对另一个控件进行定位。
  • 居中定位和倾向
  • Chain
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值