Android 四大布局使用详解

news/2024/11/24 2:49:03/

cb72576e8900898f811c2c13dd18fa8d.gif

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、LinearLayout 线性布局
二、RelativeLayout 关系布局
三、FrameLayout 帧布局
四、TableLayout 表格布局

Android 中,有界面存在的地方就会有布局存在,布局对于Android来说十分重要。Android中常用的四大布局:LinearLayout、RelativeLayout、FrameLayout、TableLayout

AbsoluteLayout 已经弃用,此问略过。

一、LinearLayout 线性布局

线性布局,Android常用布局之一,主要有水平布局、垂直布局两种。线性布局 水平布局主要靠orientation属性区分, 垂直布局:android:orientation="vertical",水平布局:
android:orientation="horizontal"

1.线性布局继承关系

java.lang.Object↳    android.view.View↳    android.view.ViewGroup↳    android.widget.LinearLayout

2. LinearLayout 简单例子

fe1734ece4071802ce60c7ae5dfce309.jpeg

LinearLayout 布局例子

上述布局代码实现如下:

<LinearLayoutandroid:id="@+id/ll_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:visibility="gone" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal" ><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:background="@android:color/holo_purple"android:gravity="center_horizontal"android:padding="10dp"android:text="水平布局" /><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:background="@android:color/holo_green_light"android:gravity="center_horizontal"android:padding="10dp"android:singleLine="true"android:text="水平布局" /></LinearLayout><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@android:color/holo_orange_light"android:gravity="center_horizontal"android:padding="10dp"android:text="垂直布局" /><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@android:color/holo_blue_light"android:gravity="center_horizontal"android:padding="10dp"android:text="垂直布局" /></LinearLayout>

二、RelativeLayout

关系布局:RelativeLayout,Android常用的布局之一, 主要更加相对位置布局控件,比如:居左、居中、居右

1.继承关系:

java.lang.Object↳    android.view.View↳    android.view.ViewGroup↳    android.widget.RelativeLayout

2.RelativeLayout 简单例子

b7a7893b5132fcd129a3a658032384c3.jpeg

RelativeLayout布局

  • 静态代码布局如下:

<RelativeLayoutandroid:id="@+id/rl_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/tittle_bg"android:padding="10dp"android:visibility="gone" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:drawableLeft="@drawable/arrow_pressed"android:drawablePadding="5dp"android:text="动态" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="好友动态" /><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:src="@drawable/tittle_add" /></RelativeLayout>

三、 FrameLayout

帧布局FrameLayoutAndroid 常用布局之一,主要是按帧进行布局,控件会叠加在一起,后续布局会覆盖以前的布局

1.FrameLayout 继承关系如下:

java.lang.Object↳    android.view.View↳    android.view.ViewGroup↳    android.widget.FrameLayout

2. 简单FrameLayout 例子

095fb1dfb58fedeef11bb7ff2ec4ca4b.jpeg

FrameLayout布局

  • 上述布局实现代码如下:

<FrameLayoutandroid:id="@+id/fl_layout"android:layout_width="match_parent"android:layout_height="match_parent"android:visibility="gone" ><TextViewandroid:layout_width="150dp"android:layout_height="150dp"android:layout_gravity="center"android:background="@android:color/holo_orange_light"android:gravity="center_vertical"android:text="  1"android:textColor="@android:color/black" /><TextViewandroid:layout_width="100dp"android:layout_height="100dp"android:layout_gravity="center"android:background="@android:color/holo_green_light"android:gravity="center_horizontal"android:text="2" /><TextViewandroid:layout_width="50dp"android:layout_height="50dp"android:layout_gravity="center"android:background="@android:color/holo_blue_bright"android:gravity="center"android:text="3" /></FrameLayout>

四、TableLayout 表格布局

TableLayout表格布局:Android中常用的布局之一,在实现类似表格效果时候会用到此布局。

1.TableLayout继承关系

TableLayout 继承 LinearLayout,关系如下:

java.lang.Object↳    android.view.View↳    android.view.ViewGroup↳    android.widget.LinearLayout↳    android.widget.TableLayout

2. 简单2*2例子如下:

ed4f63e3fe2f0dfbf33cb59d2ad29d17.jpeg

TableLayout布局

  • 上述布局实现代码如下:

<TableLayoutandroid:id="@+id/tl_layout"android:layout_width="match_parent"android:layout_height="match_parent"android:visibility="gone" ><TableRowandroid:layout_width="match_parent"android:layout_height="wrap_content"android:padding="2dp" ><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:background="@android:color/holo_green_light"android:gravity="left"android:paddingBottom="10dp"android:paddingLeft="10dp"android:paddingTop="10dp"android:text="WeChat Number:" /><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:background="@android:color/holo_blue_bright"android:gravity="center"android:paddingBottom="10dp"android:paddingRight="10dp"android:paddingTop="10dp"android:text="ProgramAndroid" /></TableRow><TableRowandroid:layout_width="match_parent"android:layout_height="wrap_content"android:padding="2dp" ><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:background="@android:color/holo_blue_bright"android:gravity="left"android:paddingBottom="10dp"android:paddingLeft="10dp"android:paddingTop="10dp"android:text="微信公众号:" /><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:background="@android:color/holo_green_light"android:gravity="center"android:paddingBottom="10dp"android:paddingRight="10dp"android:paddingTop="10dp"android:text="程序员Android" /></TableRow></TableLayout>

参考文献:

【腾讯文档】Android 基础知识库
https://docs.qq.com/doc/DSWdKRWh1VnVHYWFP

友情推荐:

Android 开发干货集锦

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

5cb0bea5e5466c95280a99c1d42e869a.jpeg

点击阅读原文,为大佬点赞!


http://www.ppmy.cn/news/872426.html

相关文章

伺服驱动器--增益调整

增益调整 1.1 惯量辨识1.2 刚性等级1.2.1 刚性等级设定1.2.2微调参数 1.3 指令滤波1.4 机械特性曲线1.5 项目实战&#xff1a;3.1、刚性等级15 的情况下分析曲线3.2、刚性等级28 的情况下分析曲线3.3、刚性等级22 的情况下分析曲线**补充说明&#xff1a;**采样频率采样周期换算…

倍福PLC获取伺服驱动器扭矩值获取电流值

双击某个驱动器&#xff08;以松下伺服驱动器为例&#xff09;&#xff0c;在Process Data中&#xff0c;注意默认显示了PDO mapping1的数据&#xff08;Error code&#xff0c; status word等&#xff09; 注意左侧&#xff0c;2和3分别表示了与驱动器的所有数据输入和输出&a…

可调直动差压卸荷阀DDRV-100、DBRV-100

优点&#xff1a; 及时响应压力变化。 低压升。 潜在调节&#xff08;抗震动&#xff09;。 调整位置可锁定。 铝制操作手柄和填料压盖。 坚硬化处理。 可调直动式卸荷阀 ZRV-63 0类 可调直动式卸荷阀 DRV2-080 系列8 可调直动式卸荷阀 DRV-080_*_H 系列8 直动可调式…

大疆M3508电机位置与速度PID控制及自编上位机调参

目录 一. 简介二. 电机位置、速度、电流三闭环PID控制原理三. STM32实现位置、速度控制&#xff08;一&#xff09;电机数据接收&#xff08;二&#xff09;一些全局变量&#xff08;三&#xff09;电机PID初始化与位置、速度PID计算 四. 上位机设计与通信&#xff08;一&#…

机械臂的力矩前馈控制

对于机械臂的动力学研究&#xff08;研究各个关节的力与运动状态&#xff09;&#xff0c;不能忽略的一个干扰因素——机械臂的重力&#xff0c;在Simulink中建立动力学的控制模型时&#xff0c;相当于在负载处输入干扰力矩&#xff08;tau_d&#xff09;&#xff0c;这又会引入…

ios h5底部安全区适配

相信在ios 移动端开发h5前端童鞋 肯定会知道 就是 很多ios款型的手机 底部有一条黑色的杠杠 或者白色哎 就是会遮挡一部分我们的元素 特别是底部需要悬浮一些按钮的时候 这个就是ios的底部安全区域 对应的还有顶部的哈 这里就说下 底部的 <meta name"viewport"…

游戏AI的崛起:腾讯、网易等企业引领行业变革

随着游戏AI技术的迅猛发展&#xff0c;游戏行业正在经历一场前所未有的变革。在这个数字化时代&#xff0c;腾讯、网易等行业领先企业正以惊人的步伐在游戏AI领域取得重要进展。他们已经进入了游戏AI的2.0阶段&#xff0c;实现了内容多元化和行为智能化。尤其引人瞩目的是&…

绘声绘影X8重装遇到的问题

笔记本硬件出了问题&#xff0c;重装系统后重新安装绘声绘影X8&#xff0c;本来以为10分钟弄好&#xff0c;没想到搞了两个小时&#xff0c;记录一下遇到的问题。 “已安装这个产品的另一个版本” 原因&#xff1a;没有卸载干净解决方案&#xff1a;打开控制面板 - 卸载程序 - …