安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧

马肤

温馨提示:这篇文章已超过467天没有更新,请注意相关的内容是否还可用!

本文介绍了安卓开发中常用的布局,内容全面,涵盖各种常见布局方式。阅读本文,您将了解安卓开发中布局的基本概念、原理及实现方法。本文旨在帮助开发者快速掌握安卓布局技巧,提高开发效率。阅读本文,即可对安卓常用布局有全面、深入的了解。

目录

1-1  布局通用的属性

1-2   线性布局(LinearLayout)

1、常见属性:

2、线性布局的例子:

 1-3  相对布局(RelativeLayout)

1、常见属性:

2、 相对布局的例子:

 1-4  帧布局(FrameLayout)

1.常用属性

2、帧布局例子:

1-5 表格布局(TableLayout)

1、常见属性:

2、表格布局例子:

1-6 网格布局(GridLayout)

1、常用属性:

2、网格布局的例子

1-7 约束布局ConstraintLayout

 1、ConstraintLayout例子:

1-1  布局通用的属性

属性名称功能
android:id设置布局的标识
android:layout_width设置布局的宽度
android:layout_height设置布局的高度
android:layout_margin设置当前布局与屏幕边界或与周围控件的距离
android:background设置布局的背景
android:padding设置当前布局与该布局中控件的距离

1-2   线性布局(LinearLayout)

        线性布局就是在该布局内的子控件按竖直或者按水平排列。

1、常见属性:

属性功能
android:orientation设置布局内控件的排列顺序
android:weight在布局内设置控件权重,属性值可直接写int

注:

android:orientation属性有两个参数:

(1) vertical:表示在LinearLayout布局中从上到下竖直排序。

(2)horizontal:表示在LinearLayout布局中从左到右水平排序。

android:weight属性就是在LinearLayout布局中的控件的大小按比例来分配。

2、线性布局的例子:

        如下代码:将按钮竖直排列,并且按钮的高度按1:1:2的大小分配


    
    
    

下面是效果图: 

安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧 第1张

 1-3  相对布局(RelativeLayout)

        相对布局是通过以父容器或者子控件为参照物的方式来指定子控件的位置。

1、常见属性:

属性名称功能
android:layout_centerInParent设置当前控件位于父布局的中央位置
android:layout_centerVertical设置当前控件位于父布局的垂直居中位置
android:layout_centerHorizontal设置当前控件位于父控件的水平居中位置
android:layout_above设置当前控件位于某控件上方
android:layout_below设置当前控件位于某控件下方
android:layout_toLeftOf设置当前控件位于某控件左侧
android:layout_toRightOf设置当前控件位于某控件右侧
android:layout_alignParentTop设置当前控件是否与父控件顶端对齐
android:layout_alignParentLeft设置当前控件是否与父控件左对齐
android:layout_alignParentRight设置当前控件是否与父控件右对齐
android:layout_alignParentBottom设置当前控件是否与父控件底端对齐
android:layout_alignTop设置当前控件的上边界与某控件的上边界对齐
android:layout_alignBottom设置当前控件的下边界与某控件的下边界对齐
android:layout_alignLeft设置当前控件的左边界与某控件的左边界对齐
android:layout_alignRight设置当前控件的右边界与某控件的右边界对齐

2、 相对布局的例子:

效果图:

安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧 第2张

代码如下: 


    
    
    
    
    

 1-4  帧布局(FrameLayout)

        这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式。

1.常用属性

属性名称功能
android:foreground设置帧布局容器的前景图像
android:foregroundGravity设置前景图像显示的位置

2、帧布局例子:

安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧 第3张

代码: 


    
    
    

1-5 表格布局(TableLayout)

        表格布局(TableLayout是继承LinearLayout)就是采用行、列的形式来管理布局控件。

1、常见属性:

属性名称功能
android:layout_column设置该控件显示位置,如android:Layout_column="1"表示第2个位置显示
android:layout_span设置该控件占几行,默认是1行
android:stretchColumns设置可被拉伸的列。
android:shrinkColumns设置可被收缩的列。
android:collapseColumns设置可被隐藏的列。

注意:列的宽度是由该列中最宽那个决定 

2、表格布局例子:

 效果图:

安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧 第4张

代码如下: 


    
        
        
    
    
        
        
    
    
      
        
    
    
        
        
    

1-6 网格布局(GridLayout)

1、常用属性:

属性名称功能
android:layout_gravity用来设置该View相对与父View的位置
android:orientation设置布局内控件的排列顺序
android:columnCount设置列数
android:rowCount设置行数
android:layout_columnSpan横跨几列
android:layout_rowSpan横跨几行
android:layout_column第几列
android:layout_row第几行

2、网格布局的例子

效果图:

安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧 第5张

 代码:


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
 

1-7 约束布局ConstraintLayout

        ConstraintLayout 是 Android 中的一个布局容器,它通过使用约束条件来定义视图之间的相对位置和大小关系。它的灵活性和性能使得它成为 Android 开发中常用的布局方式之一。

ConstraintLayout 的主要特点包括:

  1. 相对定位:可以通过约束条件将视图相对于父容器或其他视图进行定位,而不需要使用嵌套布局。

  2. 弹性尺寸:可以通过设置约束条件来调整视图的大小和比例,以适应不同屏幕尺寸和方向的变化。

  3. 连接线:可以使用连接线(Guideline)来辅助布局,例如将视图与屏幕的边缘或其他视图的对齐。

  4. 链式布局:可以使用链式约束来创建视图链,比如水平或垂直的线性链。

 ConstraintLayout例子:

    
    
    
    
    

结果: 

安卓的常用布局看一篇就够了,安卓常用布局详解,一篇文章掌握所有布局技巧 第6张

参考:2.2.5 GridLayout(网格布局) | 菜鸟教程 (runoob.com)

约束布局的使用推荐看下面的文章(写得很好): 

【Android】ConstraintLayout约束布局最全解析_android constraintlayout_Teacher.Hu的博客-CSDN博客 


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码