Android布局
一、线性布局
属性:orientation vertical horizontal
layout_weight【水平均分,width="0dp"】
layout_height
layout_width
小动物连连看
1<?xml version="1.0" encoding="utf-8"?>2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"3 android:layout_width="match_parent"4 android:layout_height="match_parent"5 android:layout_gravity="center"6 android:background="@drawable/animal_bg"7 android:orientation="vertical"8 android:paddingLeft="15dp"9 android:paddingRight="15dp">10 <LinearLayout11 android:layout_width="wrap_content"12 android:layout_height="wrap_content"13 android:layout_gravity="center"14 android:layout_marginTop="200dp"15 android:orientation="horizontal">16 <Button17 style="@style/btnStyle"18 android:background="@drawable/three" />19 <Button20 style="@style/btnStyle"21 android:background="@drawable/four" />22 <Button23 style="@style/btnStyle"24 android:background="@drawable/box" />25 <Button26 style="@style/btnStyle"27 android:background="@drawable/five" />28 </LinearLayout>29 <LinearLayout30 android:layout_width="wrap_content"31 android:layout_height="wrap_content"32 android:layout_gravity="center"33 android:layout_marginTop="15dp"34 android:orientation="horizontal">35 <Button36 style="@style/btnStyle"37 android:background="@drawable/one" />38 <Button39 style="@style/btnStyle"40 android:background="@drawable/two" />41 <Button42 style="@style/btnStyle"43 android:background="@drawable/box" />44 <Button45 style="@style/btnStyle"46 android:background="@drawable/four" />47 </LinearLayout>48 <LinearLayout49 android:layout_width="wrap_content"50 android:layout_height="wrap_content"51 android:layout_gravity="center"52 android:layout_marginTop="15dp"53 android:orientation="horizontal">54 <Button55 style="@style/btnStyle"56 android:background="@drawable/five" />57 <Button58 style="@style/btnStyle"59 android:background="@drawable/box" />60 <Button61 style="@style/btnStyle"62 android:background="@drawable/three" />63 <Button64 style="@style/btnStyle"65 android:background="@drawable/two" />66 </LinearLayout>67</LinearLayout>
二、相对布局 relativelayout
以父容器或者兄弟控件作为参照


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="B2"android:id="@+id/b2"android:layout_centerHorizontal="true"android:layout_marginTop="260dp"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="b3"android:layout_alignBottom="@+id/b2"android:layout_marginBottom="100dp"android:layout_toRightOf="@+id/b2"/></RelativeLayout>
音乐播放器
1<?xml version="1.0" encoding="utf-8"?>2<RelativeLayout3 xmlns:android="http://schemas.android.com/apk/res/android"4 android:layout_width="match_parent"5 android:layout_height="match_parent"6 android:background="@drawable/music_bg">7 <Button8 android:id="@+id/btn_icon"9 android:layout_width="120dp"10 android:layout_height="120dp"11 android:layout_centerHorizontal="true"12 android:layout_marginTop="150dp"13 android:background="@drawable/music_icon" />14 <Button15 android:id="@+id/btn_progress"16 android:layout_width="300dp"17 android:layout_height="10dp"18 android:layout_below="@id/btn_icon"19 android:layout_centerHorizontal="true"20 android:layout_marginTop="100dp"21 android:background="@drawable/progress_icon" />22 <RelativeLayout23 android:layout_width="match_parent"24 android:layout_height="wrap_content"25 android:layout_below="@id/btn_progress"26 android:layout_marginTop="35dp"27 android:gravity="center_horizontal">28 <Button29 android:id="@+id/btn_left"30 android:layout_width="30dp"31 android:layout_height="30dp"32 android:background="@drawable/left_icon" />33 <Button34 android:id="@+id/btn_mid"35 android:layout_width="30dp"36 android:layout_height="30dp"37 android:layout_marginLeft="50dp"38 android:layout_toRightOf="@id/btn_left"39 android:background="@drawable/middle_icon" />40 <Button41 android:id="@+id/btn_right"42 android:layout_width="30dp"43 android:layout_height="30dp"44 android:layout_marginLeft="50dp"45 android:layout_toRightOf="@id/btn_mid"46 android:background="@drawable/right_icon" />47 </RelativeLayout>48</RelativeLayout>
表格布局 TableLayout

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:stretchColumns="2" ><TableRow><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="0"android:text="1" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="1"android:text="2" /></TableRow><TableRow><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="1"android:text="3" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="2"android:text="4" /></TableRow><TableRow><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="2"android:text="鎸夐挳5" /></TableRow>
</TableLayout>
计算器实现
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:stretchColumns="*"><TableRowandroid:id="@+id/tr_one"style="@style/rowStyle"android:layout_marginTop="200dp"><Buttonstyle="@style/btnStyle"android:text="C" /><Buttonstyle="@style/btnStyle"android:text="←" /><Buttonstyle="@style/btnStyle"android:text="+" /><Buttonstyle="@style/btnStyle"android:text="-" /></TableRow><TableRowandroid:id="@+id/tr_two"style="@style/rowStyle"><Buttonstyle="@style/btnStyle"android:text="7" /><Buttonstyle="@style/btnStyle"android:text="8" /><Buttonstyle="@style/btnStyle"android:text="9" /><Buttonstyle="@style/btnStyle"android:text="x" /></TableRow><TableRowandroid:id="@+id/tr_three"style="@style/rowStyle"><Buttonstyle="@style/btnStyle"android:text="6" /><Buttonstyle="@style/btnStyle"android:text="5" /><Buttonstyle="@style/btnStyle"android:text="4" /><Buttonstyle="@style/btnStyle"android:text="/" /></TableRow><TableRowandroid:id="@+id/tr_four"style="@style/rowStyle"><Buttonstyle="@style/btnStyle"android:text="1" /><Buttonstyle="@style/btnStyle"android:text="2" /><Buttonstyle="@style/btnStyle"android:text="3" /><Buttonstyle="@style/btnStyle"android:text="." /></TableRow><TableRowandroid:id="@+id/tr_five"style="@style/rowStyle"><Buttonstyle="@style/btnStyle"android:layout_span="2"android:text="0" /><Buttonstyle="@style/btnStyle"android:layout_span="2"android:text="=" /></TableRow>
</TableLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TableLayoutandroid:id="@+id/tablelayout"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"><TableRow><Buttonandroid:id="@+id/bt_clear"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="C"/><Buttonandroid:id="@+id/bt_delete"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="Del" /><Buttonandroid:id="@+id/bt_percent"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="%"/><Buttonandroid:id="@+id/bt_div"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="÷"/></TableRow><TableRow><Buttonandroid:id="@+id/bt_num7"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="7"/><Buttonandroid:id="@+id/bt_num8"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="8"/><Buttonandroid:id="@+id/bt_num9"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="9"/><Buttonandroid:id="@+id/bt_mult"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="×"/></TableRow><TableRow><Buttonandroid:id="@+id/bt_num4"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="4"/><Buttonandroid:id="@+id/bt_num5"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="5"/><Buttonandroid:id="@+id/bt_num6"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="6"/><Buttonandroid:id="@+id/bt_minus"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="-"/></TableRow><TableRow><Buttonandroid:id="@+id/bt_num1"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="1"/><Buttonandroid:id="@+id/bt_num2"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="2"/><Buttonandroid:id="@+id/bt_num3"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="3"/><Buttonandroid:id="@+id/bt_plus"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="+"/></TableRow><TableRow><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="("/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text=")"/><Buttonandroid:id="@+id/bt_num0"android:layout_width="0dp"android:layout_weight="2"android:layout_height="wrap_content"android:text="0"/><Buttonandroid:id="@+id/bt_dot"android:layout_width="0dp"android:layout_weight="2"android:layout_height="wrap_content"android:text="·"/><Buttonandroid:id="@+id/bt_equal"android:layout_width="0dp"android:layout_weight="2"android:layout_height="wrap_content"android:text="="/></TableRow></TableLayout>
</RelativeLayout>
帧布局FrameLayout


相关文章:
Android布局
一、线性布局 属性:orientation vertical horizontal layout_weight【水平均分,width"0dp"】 layout_height layout_width 小动物连连看 1<?xml version"1.0" encoding"utf-8"?>2<LinearLayout xmlns:and…...
k8s集成skywalking
如果能科学上网的话,安装应该不难,如果有问题可以给我留言 本篇文章我将给大家介绍“分布式链路追踪”的内容,对于目前大部分采用微服务架构的公司来说,分布式链路追踪都是必备的,无论它是传统微服务体系亦或是新一代…...
如何写一份优质技术文档
作者简介: 本文作者拥有区块链创新专利30,是元宇宙标准化工作组成员、香港web3标准工作组成员,参与编写《数据资产确权与交易安全评价标准》、《链接元宇宙:应用与实践》、《香港Web3.0标准化白皮书》等标准,下面提供…...
LeetCode:206.反转链表
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:206.反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例…...
详解高斯消元
详解高斯消元 好东西,可以求所有一次方程组的解。 \color {red} 好东西,可以求所有一次方程组的解。 好东西,可以求所有一次方程组的解。 前置知识 一般消元法的公理: 两方程互换,解不变; 一方程乘以非零数 k k k,解不变; 一方程乘以数 k k k加上另一方程,解不变。 …...
Maven - 优雅的管理多模块应用的统一版本号
文章目录 概述一、使用 versions-maven-plugin 插件1. 在主 pom.xml 中定义插件2. 修改版本号3. 回退修改4. 提交修改 二、使用占位符统一管理版本号1. 在主 pom.xml 中定义占位符2. 使用 flatten-maven-plugin 插件自动替换占位符3. 修改版本号4. 为什么这种方式更方便&#x…...
国际网络安全趋势
1. 亲近拥抱人工智能自动化。 随着安全协调、人工智能自动化和响应(SOAR)的日益普及,人工智能自动化开始成为现实并将继续扩展到其他安全行动领域。寻求将人工智能自动化整合到原有的工具中,通过将威胁情报整合在一起,将其转换为可用格式并主…...
基于米尔全志T527开发板的FacenetPytorch人脸识别方案
本篇测评由优秀测评者“小火苗”提供。 本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志 T527开发板)的FacenetPytorch人脸识别方案测试。 一、facenet_pytorch算法实现人脸识别 深度神经网络 1.简介 Facenet-PyTorch 是一个基于 PyTorch 框架实…...
Altium Designer脚本工具定制
原理图设计自动化 ➡️Altium原理图检查工具 ➡️元器件参数集导入导出 ➡️原理图符号自动创建 ➡️原理图高级查找 ➡️原理图库文档高级查找 ➡️原理图文档对比 ➡️原理图库文档对比 PCB设计自动化 ➡️各种各样的PCB线圈自动创建 ➡️PCB文档导出成SVG格式文档…...
贝锐自研智慧网关系统OrayOS升级,适配Banana PI开发板BPI-R3 Mini
为了满足多元化的应用场景,贝锐与Banana PI携手合作,贝锐自研新一代云智慧网关系统OrayOS不仅已成功适配BPI-R3,还进一步扩展至BPI-R3 Mini,提供了更丰富的选择。在全球工业物联网、视频监控管理以及企业级办公存储等领域…...
搭建环境-PHP简介及环境搭建教程
搭建环境-PHP简介及环境搭建教程 前言 在现代Web开发中,PHP是一种广泛使用的服务器端脚本语言,它以简洁、高效和跨平台的特性受到开发者的青睐。无论是小型网站还是大型企业应用,PHP都能提供强大的支持。本文将为您详细介绍PHP的基本概念、特点,以及如何搭建PHP开发环境。…...
Maven 配置
参考学习: eclipse(或myeclipse)通过maven配置连接neo4j_eclipse 链接 neo4j-CSDN博客 爆肝十小时—我终于用Java连上Neo4j数据库 - 知乎 全站最全Maven下载安装配置教学(2024更新...全版本)建议收藏...赠送IDEA配置Ma…...
js常见函数实现
文章目录 一、数组Array1、forEach2、filter3、map4、reduce5、find6、findIndex7、includes8、join 二、对象Object1、Object.keys2、深复制 js环境中有很多工具函数,比如es6添加了很多新的属性和方法,这些方法也可以自定义实现,但是官方也提…...
点云3DHarris角点检测算法推导
先回顾2D的Harris角点检测算法推导 自相关矩阵是Harris角点检测算法的核心之一,它通过计算图像局部区域的梯度信息来描述该区域的特征。在推导Harris角点检测算法中的自相关矩阵时,我们首先需要了解自相关矩阵的基本思想和数学背景。 参考 1. 能量函数…...
mysql-binlog的三种模式
MySQL的binlog(二进制日志)有三种主要模式,分别是Statement、Row和Mixed。这三种模式在记录数据库更改的方式上有显著的区别,以下是对这三种模式的详细解释及对比: 一、Statement模式(基于SQL语句的复制&a…...
自动类型推导(auto 和 decltype);右值引用和移动语义
1) 自动类型推导(auto 和 decltype) 自动类型推导(auto) 在C11及以后的版本中,auto关键字被引入用于自动类型推导。这意味着编译器会自动推断变量的类型,基于其初始化的表达式。使用auto可以让代码更加简…...
(Linux 系统)进程控制
目录 一、进程创建 1、fork函数初识 二、进程终止 1、正常终止 2、异常终止 三、进程等待 1、进程等待必要性 2、进程等待的方法: 四、获取子进程status 1、基本概念 2、进程的阻塞等待方式 3、进程的非阻塞等待方式 五、进程程序替换 1、六种替换函数…...
【Nativeshell】flutter的pc跨平台框架学习记录<二> 窗口间通信
首先是初始化: 查看Nativeshell的demo代码 // ignore_for_file: undefined_hidden_name, // not in main import package:flutter/material.dart hide MenuItem; import package:nativeshell/nativeshell.dart;import pages/other_window.dart; import pages/plat…...
今日codeforces刷题(1)
一、前言 新栏目,每隔几天就保质保量地刷个10道codeforces题左右的样子 筛选1200-1500难度的题,然后按通过题目的人数降序排列的前10题 二、题目总览 三、具体题目 3.1 25A. IQ test 我的代码 看奇数出现的次数为1还是偶数出现的次数为1,…...
【C++算法】20.二分查找算法_x 的平方根
文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: 69. x 的平方根 题目描述: 解法 暴力解法: 如果x17 从1,2,3,4,5......这些数里面找他们的平方…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
