当前位置: 首页 > news >正文

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布局

一、线性布局 属性&#xff1a;orientation vertical horizontal layout_weight【水平均分&#xff0c;width"0dp"】 layout_height layout_width 小动物连连看 1<?xml version"1.0" encoding"utf-8"?>2<LinearLayout xmlns:and…...

k8s集成skywalking

如果能科学上网的话&#xff0c;安装应该不难&#xff0c;如果有问题可以给我留言 本篇文章我将给大家介绍“分布式链路追踪”的内容&#xff0c;对于目前大部分采用微服务架构的公司来说&#xff0c;分布式链路追踪都是必备的&#xff0c;无论它是传统微服务体系亦或是新一代…...

如何写一份优质技术文档

作者简介&#xff1a; 本文作者拥有区块链创新专利30&#xff0c;是元宇宙标准化工作组成员、香港web3标准工作组成员&#xff0c;参与编写《数据资产确权与交易安全评价标准》、《链接元宇宙&#xff1a;应用与实践》、《香港Web3.0标准化白皮书》等标准&#xff0c;下面提供…...

LeetCode:206.反转链表

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;206.反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例…...

详解高斯消元

详解高斯消元 好东西,可以求所有一次方程组的解。 \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)的日益普及&#xff0c;人工智能自动化开始成为现实并将继续扩展到其他安全行动领域。寻求将人工智能自动化整合到原有的工具中&#xff0c;通过将威胁情报整合在一起&#xff0c;将其转换为可用格式并主…...

基于米尔全志T527开发板的FacenetPytorch人脸识别方案

本篇测评由优秀测评者“小火苗”提供。 本文将介绍基于米尔电子MYD-LT527开发板&#xff08;米尔基于全志 T527开发板&#xff09;的FacenetPytorch人脸识别方案测试。 一、facenet_pytorch算法实现人脸识别 深度神经网络 1.简介 Facenet-PyTorch 是一个基于 PyTorch 框架实…...

Altium Designer脚本工具定制

原理图设计自动化 ➡️Altium原理图检查工具 ➡️元器件参数集导入导出 ➡️原理图符号自动创建 ➡️原理图高级查找 ➡️原理图库文档高级查找 ➡️原理图文档对比 ➡️原理图库文档对比 PCB设计自动化 ➡️各种各样的PCB线圈自动创建 ➡️PCB文档导出成SVG格式文档…...

贝锐自研智慧网关系统OrayOS升级,适配Banana PI开发板BPI-R3 Mini

为了满足多元化的应用场景&#xff0c;贝锐与Banana PI携手合作&#xff0c;贝锐自研新一代云智慧网关系统OrayOS不仅已成功适配BPI-R3&#xff0c;还进一步扩展至BPI-R3 Mini&#xff0c;提供了更丰富的选择。在全球工业物联网、视频监控管理以及企业级办公存储等领域&#xf…...

搭建环境-PHP简介及环境搭建教程

搭建环境-PHP简介及环境搭建教程 前言 在现代Web开发中,PHP是一种广泛使用的服务器端脚本语言,它以简洁、高效和跨平台的特性受到开发者的青睐。无论是小型网站还是大型企业应用,PHP都能提供强大的支持。本文将为您详细介绍PHP的基本概念、特点,以及如何搭建PHP开发环境。…...

Maven 配置

参考学习&#xff1a; eclipse&#xff08;或myeclipse&#xff09;通过maven配置连接neo4j_eclipse 链接 neo4j-CSDN博客 爆肝十小时—我终于用Java连上Neo4j数据库 - 知乎 全站最全Maven下载安装配置教学&#xff08;2024更新...全版本&#xff09;建议收藏...赠送IDEA配置Ma…...

js常见函数实现

文章目录 一、数组Array1、forEach2、filter3、map4、reduce5、find6、findIndex7、includes8、join 二、对象Object1、Object.keys2、深复制 js环境中有很多工具函数&#xff0c;比如es6添加了很多新的属性和方法&#xff0c;这些方法也可以自定义实现&#xff0c;但是官方也提…...

点云3DHarris角点检测算法推导

先回顾2D的Harris角点检测算法推导 自相关矩阵是Harris角点检测算法的核心之一&#xff0c;它通过计算图像局部区域的梯度信息来描述该区域的特征。在推导Harris角点检测算法中的自相关矩阵时&#xff0c;我们首先需要了解自相关矩阵的基本思想和数学背景。 参考 1. 能量函数…...

mysql-binlog的三种模式

MySQL的binlog&#xff08;二进制日志&#xff09;有三种主要模式&#xff0c;分别是Statement、Row和Mixed。这三种模式在记录数据库更改的方式上有显著的区别&#xff0c;以下是对这三种模式的详细解释及对比&#xff1a; 一、Statement模式&#xff08;基于SQL语句的复制&a…...

自动类型推导(auto 和 decltype);右值引用和移动语义

1) 自动类型推导&#xff08;auto 和 decltype&#xff09; 自动类型推导&#xff08;auto&#xff09; 在C11及以后的版本中&#xff0c;auto关键字被引入用于自动类型推导。这意味着编译器会自动推断变量的类型&#xff0c;基于其初始化的表达式。使用auto可以让代码更加简…...

(Linux 系统)进程控制

目录 一、进程创建 1、fork函数初识 二、进程终止 1、正常终止 2、异常终止 三、进程等待 1、进程等待必要性 2、进程等待的方法&#xff1a; 四、获取子进程status 1、基本概念 2、进程的阻塞等待方式 3、进程的非阻塞等待方式 五、进程程序替换 1、六种替换函数…...

【Nativeshell】flutter的pc跨平台框架学习记录<二> 窗口间通信

首先是初始化&#xff1a; 查看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)

一、前言 新栏目&#xff0c;每隔几天就保质保量地刷个10道codeforces题左右的样子 筛选1200-1500难度的题&#xff0c;然后按通过题目的人数降序排列的前10题 二、题目总览 三、具体题目 3.1 25A. IQ test 我的代码 看奇数出现的次数为1还是偶数出现的次数为1&#xff0c…...

【C++算法】20.二分查找算法_x 的平方根

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解 题目链接&#xff1a; 69. x 的平方根 题目描述&#xff1a; 解法 暴力解法&#xff1a; 如果x17 从1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5......这些数里面找他们的平方…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

C++中vector类型的介绍和使用

文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...