AndroidStudio相对布局
目录
RelativeLayout常用属性(它们可以几个结合在一起使用):
相对于父容器居中
相对于父容器对齐
相对于其它控件位置
相对于其它控件对齐
标识符问题
实例演示
RelativeLayout类是ViewGroup的子类也就是相对布局
RelativeLayout常用属性(它们可以几个结合在一起使用):
相对于父容器居中
属性 | 含义 |
layout_centerInParent | 在父容器居中 |
layout_centerHorizontal | 在父容器水平居中(true | false) |
layout_centerVertical | 在父容器垂直居中 |
相对于父容器对齐
属性 | 含义 |
layout_alignParentLeft | 与父容器左对齐 |
layout_alignParentRight | 与父容器右对齐 |
layout_alignParentTop | 与父容器顶对齐 |
layout_alignParentBottom | 与父容器底对齐 |
相对于其它控件位置
属性 | 含义 |
layout_toLeftOf | 在……左边 |
layout_toRightOf | 在……右边 |
layout_above | 在……上面 |
layout_below | 在……下面 |
相对于其它控件对齐
属性 | 含义 |
layout_alignLeft | 与……左对齐 |
layout_alignRight | 与……右对齐 |
layout_alignTop | 与……顶对齐 |
layout_alignBottom | 与……底对齐 |
layout_alignBaseLine | 与……基线对齐 |
标识符问题
标识符 | 含义 |
@+id/button | 创建新的id(建议使用) |
@id/button | 引用已有的id |
实例演示
1.新建一个文件
插入一张图片
打开字符串资源文件 strings.xml
在里面输入要用的值
具体代码:
<resources><string name="app_name">相对布局演示</string><string name="upper_left_corner">左上角</string><string name="upper_right_corner">右上角</string><string name="lower_left_corner">左下角</string><string name="lower_right_corner">右下角</string><string name="center">中央</string><string name="upper_left">左上</string><string name="upper_right">右上</string><string name="lower_left">左下</string><string name="lower_right">右下</string><string name="upper_center">上中</string><string name="left_center">左中</string><string name="right_center">右中</string><string name="butter_center">下中</string><string name="ok">确定</string><string name="cancel">取消</string> </resources>
打开主布局资源文件:
改为相对布局并添加中央按钮
具体代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/img01"tools:context=".MainActivity"><Buttonandroid:id="@+id/btu_center"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/center"android:layout_centerInParent="true"/>
</RelativeLayout>
以此类推添加其他按钮
具体代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/img01"tools:context=".MainActivity"><Buttonandroid:id="@+id/btu_center"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/center"android:layout_centerInParent="true"/><Buttonandroid:id="@+id/btu_upper_left"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/upper_left"android:layout_toLeftOf="@id/btu_center"android:layout_above="@id/btu_center"/><Buttonandroid:id="@+id/btu_upper_right"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/upper_right"android:layout_toRightOf="@id/btu_center"android:layout_above="@id/btu_center"/><Buttonandroid:id="@+id/btu_lower_left"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/lower_left"android:layout_toLeftOf="@id/btu_center"android:layout_below="@id/btu_center"/><Buttonandroid:id="@+id/btu_lower_right"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/lower_right"android:layout_toRightOf="@id/btu_center"android:layout_below="@id/btu_center"/><Buttonandroid:id="@+id/btu_ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/ok"android:layout_below="@id/btu_lower_left"android:layout_alignLeft="@id/btu_lower_left"/><Buttonandroid:id="@+id/btu_cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/cancel"android:layout_below="@id/btu_lower_right"android:layout_alignLeft="@id/btu_lower_right"/><Buttonandroid:id="@+id/btu_upper_left_corner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="@string/upper_left_corner"/><Buttonandroid:id="@+id/btu_upper_right_corner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:text="@string/upper_right_corner"/><Buttonandroid:id="@+id/btu_lower_left_corner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"android:text="@string/lower_left_corner"/><Buttonandroid:id="@+id/btu_lower_right_corner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentBottom="true"android:text="@string/lower_right_corner"/><Buttonandroid:id="@+id/btu_upper_center"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/upper_center"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"/><Buttonandroid:id="@+id/btu_left_center"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/left_center"android:layout_alignParentLeft="true"android:layout_centerVertical="true"/><Buttonandroid:id="@+id/btu_right_center"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/left_center"android:layout_alignParentRight="true"android:layout_centerVertical="true"/><Buttonandroid:id="@+id/btu_butter_center"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/butter_center"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"/></RelativeLayout>
启动应用查看效果:
相关文章:
AndroidStudio相对布局
目录 RelativeLayout常用属性(它们可以几个结合在一起使用): 相对于父容器居中 相对于父容器对齐 相对于其它控件位置 相对于其它控件对齐 标识符问题 实例演示 RelativeLayout类是ViewGroup的子类也就是相对布局 RelativeLayout常用属…...
如何用iOS自带摄像头进行拍摄获取视频流以及OpenCV图像处理实时显示
目录概述一、如何用Swift调用OpenCV库1.项目引入OpenCV库2.桥接OpenCV及Swift二、运用AVFoundation获取实时图像数据1.建立视频流数据捕获框架2.建立 Capture Session3.取得并配置 Capture Devices4.设定 Device Inputs5.配置Video Data Output输出6.工程隐私权限配置7.处理相机…...
智安网络|为什么说防火墙是我们信息安全的第一道防线?
网络安全现状: ①攻击者需要的技术水平逐渐降低,手段更加灵活,联合攻击急你的剧增多:网络蠕虫具有隐蔽性、传染性、破坏性、自主攻击能力,新一代网络蠕虫和黑客攻击、计算机病毒之间的界限越来越模糊 ②网络攻击趋利…...
Android多媒体功能开发(8)——使用VideoView控件播放视频
Android播放视频类主要有两种方式: VideoView控件SurfaceView控件MediaPlayer VideoView是SurfaceView的子类,实际上VideoView相当于SurfaceView MediaPlayer。SurfaceView支持的功能VideoView都支持。也可用VideoViewMediaPlayer的方式播放。 视频播放…...
python调用CC++
python调用C程序 一般来说在python调用C/C程序主要可以分为3步: 1、编写C/C实现程序。2、将C/C程序编译成动态库。-3、在Python中调用编译生成的库。Python在调用C/C程序时有一些不同,需要注意。 Python调用C语言程序比较简单,将C语言程序…...
[golang gin框架] 10.Gin 商城项目介绍
一.商城项目介绍 1.详细功能介绍图 2.数据库 ER 图 需要用到的数据表举例 二.MVC架构搭建以及执行流程分析 1.关于 MVC 模式的简单介绍 Gin 不是一个 MVC 的框架,所有的代码都可以写在 main.go 中。当我们的项目比较大的时候, 所有代码写在一个文件里面…...
Endor Labs:2023年十大开源安全风险
近日,Endor Labs发布了一份新报告,确定了2023年的十大开源安全风险。报告显示,许多软件公司依赖于开源软件代码,但在如何衡量和处理与开源软件相关的风险和漏洞方面缺乏一致性。调查发现,在应用程序中超过80%的代码可能…...
关于Error和Exception的一些思考 小结
目录 1. ERROR 2. Exception 2.1 checked Exception 2.2 unchecked Exception 2.3 区别 3. 内存溢出 3.1 堆溢出 3.2 永久代/元空间溢出 3.3 方法栈溢出 Java中,所有的异常都有一个共同的父类:Throwable类。 Throwable类有两个重要的子类&#…...
Mac环境变量配置(Java)
1.打开终端: 2.输入命令:【/usr/libexec/java_home -V】,查看默认的jdk下载地址(绿色下划线的就是jdk默认路径)(注意⚠️:命令行终端是区分大小写的【-v 是不对的,必须是大写 -V】) …...
通过这三个文件彻底搞懂rocketmq的存储原理
前言 RocketMQ是阿里开发的一个高性能的消息队列,支持各种消息类型,而且支持事务消息,可以说是现在的很多系统中的香饽饽了,所以呢,怎么使用大家肯定是要学习的 我们作为一个有梦想的程序员,在学习一门技…...
Linux安装Nvidia显卡驱动
使用的Linux系统为 Ubuntu 18.04,显卡为GeForce RTX 3060 。 查看ubuntu版本号命令:sudo lsb_release -a 查看显卡型号命令:lspci | grep -i vga (详细查看方法: 查看显卡型号)。 下面是安装显卡驱动步…...
GPT-4 介绍
1 简介 本文根据openAI的2023年3月的《GPT-4 Technical Report 》翻译总结的。 原文地址:https://arxiv.org/pdf/2303.08774.pdf 原文确实没有GPT-4 具体的模型结构,openAI向盈利组织、非公开方向发展了。也没透露硬件、训练成本、训练数据、训练方法等…...
Ubuntu下单机安装Hadoop详细教程(附所需安装包下载)
目录 前言 一、创建Hadoop用户 二、更新apt和安装Vim编辑器 三、安装SSH和配置SSH无密码登录 四、安装Java环境 1. 安装JDK 2. 配置JDK环境 3. 检验安装 五、安装单机Hadoop 1. 下载安装Hadoop 2. 运行示例 总结 前言 本文安装的 Hadoop 及 Java 环境基于林子雨老…...
【嵌入式烧录/刷写文件】-2.1-详解Intel Hex格式文件
目录 1 什么是Intel Hex 2 Intel Hex的格式 2.1 Intel Hex的Record结构 2.1.1 “Record type记录类型”的说明 2.1.2 “Record length记录长度”的说明 2.1.3 如何计算“Checksum校验和” 2.2 Record order记录顺序 2.3 Text line terminators文本行终止符 3 Hex文件的…...
【云原生】初识 Kubernetes — pod 的前世今生
目录标题前言🐳 Kubernetes到底是什么?🐬 K8s 的由来🐬K8s 的工作方式🐬 K8s 主要组件🐋Master 组件🐋Node 组件🐳 pod 是什么?🐬pod 的概念🐬控制…...
【基础篇】Java类加载器详解
类加载过程详解 类的生命周期 类从被加载到虚拟机内存到开始卸载出内存为止,生命周期可以简单概括为7个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、解析ÿ…...
Pytorch动手实现Transformer机器翻译
Pytorch动手实现Transformer机器翻译前言一、环境配置1. torchtextMethod1:Method2:2. Spacy以en包下载为例:手动安装语言包到spacy3. NLTKMethod1:Method2:二、运行结果1. 模型训练(train)2. 翻…...
宝塔面板部署node+vue项目注意事项
宝塔面板部署nodevue项目注意事项 宝塔连接云服务器 如果服务器上没有安装宝塔面板,需要先安装,安装流程如下: 从宝塔官网主页进去,点击下载安装,然后点击在线安装 输入服务器IP和密码在服务器上安装宝塔面板 等待一…...
【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字 p205 -- Java Version
题目链接:https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ 1. 题目介绍(39. 数组中出现次数超过一半的数字) 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可…...
fisco bcos用caliper0.2.0进行压力测试的安装配置
一、前期环境 1. 硬件 需要外网权限 2. 操作系统 版本要求:Ubuntu > 16.04, CentOS > 7, MacOS > 10.14 3. 基础软件 python 2.7,make,g,gcc,git sudo apt install python2.7 make g gcc git curl git confi…...
正在进行 | 用友企业数智化财务峰会落地广州 高能不断
3月28日,以「智能会计 价值财务」为主题的“2023企业数智化财务创新峰会”登陆广州。 此次用友企业数智化财务创新峰会,邀请了知名院校的专家学者、央国企等大型企业财务数智化领路人以及羊城权威媒体,近千人相约广州越秀国际会议中心,深度聚焦大型企业财务数智化创新应用…...
uniapp - APP云打包、蒲公英平台发布APP的步骤
一、uniapp 云打包 1、注册 dcloud 开发者 首先需要注册一个 dcloud 开发者的账号 dcloud开发者中心:登录 (dcloud.net.cn) 根据流程注册即可。 2、云打包(已安卓为例) 项目创建完成后,查看 dcloud 开发者中心,看是否…...
reposync命令详解--reposync同步aliyunyum库到本地
参考: reposync - 命令 - -桃枝夭夭- - 博客园 0. 简介 reposync 命令简单来说就是可以把指定外网源(repo id)的包同步到本地文件中 1. 安装 reposync 命令 [rootV10SP1-1 ~]# yum install -y dnf-plugins-core2. 常用选项以及参数 选项含义-c [fil…...
OCR之论文笔记TrOCR
文章目录TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models一. 简介二. TrOCR2.1. Encoder2.2 Decoder2.3 Model Initialiaztion2.4 Task Pipeline2.5 Pre-training2.6 Fine-tuning2.7 Data Augmentation三. 实验3.1 Data3.2 Settings3.2 Resul…...
雷电4模拟器安装xposed框架(2022年)
别问我都2202年了为什么还在用雷电4安卓7。我特么哪知道Xposed的相关资料这么难找啊,只能搜到一些老旧的资料,尝试在老旧的平台上实现了。 最初的Xposed框架现在已经停止更新了,只支持到安卓8。如果要在更高版本的安卓系统上使用Xposed得看看…...
微信小程序支付完整流程(前端)
微信小程序中,常见付款给商家的场景,下面列出企业小程序中,从0起步完整微信支付流程。 一,注册微信支付商户号(由上级或法人注册) 接入微信支付 - 微信商户平台 此商户号,需要由主管及更上级领导…...
设置鼠标右键打开方式,添加IDEA的打开方式
一、问题描述 已下载IDEA,但是右键打开之前保存的项目文件,无法显示以IDEA方式打开。 二、解决步骤 1. 打开注册表 winR键输入regedit 2、查找路径为计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell (我找了半天没看到Class…...
LAMP架构之zabbix监控(2):zabbix基础操作
目录 一、zabbix监控节点添加和删除 (1)手动添加 (2)自动添加 (3)按照条件批量添加 (4)使用api工具进行管理 二、针对应用的zabbix监控 一、zabbix监控节点添加和删除 实验说明&a…...
ShareSDK常见问题
QQ-分享报错901111,9001010等 由于QQ现在需要审核后才可以分享(之前分享不需要审核),所以此错误解决方法只需通过腾讯开放平台的审核即可,另外要检查注册好的应用的基本信息,包名、md5签名和Bundle id是不…...
[Spring]一文明白IOC容器和思想
✅作者简介:大家好,我是Philosophy7?让我们一起共同进步吧!🏆 📃个人主页:Philosophy7的csdn博客 🔥系列专栏: 数据结构与算法 👑哲学语录: 承认自己的无知,乃…...
国外域名的网站/最佳搜索引擎
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cooki…...
金寨县建设规划局网站/必应搜索引擎入口
1.同步的前提 多个线程 多个线程使用的是同一个锁 2.同步的好处 同步的出现解决了多线程的安全问题 3.同步的弊端 当线程较多时, 因为每个线程都会去判断同步上的锁, 这样是很耗费资源的, 会降低程序的运行效率. 4.同步方法: 1.就是将同步关键字, synchronized加到方法上, 此时…...
镇江网站制作服务/2022推广app赚佣金平台
Cinder-api:接受api请求,交给cinder-scheduler调度资源 Cinder-scheduler:先在数据库中查找cinder-volume信息并交给其中一个处理 Cinder-volume:接受到请求,并调用driver驱动 Driver:调用后端真实存储…...
小灯具网站建设方案/网站维护主要做什么
volatile是什么? 大厂面试题: 1、请你谈谈对volatile的理解? 2、CAS你知道吗? 3、原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗? 4、我们都知道ArrayList是线程不安全的,请编码写…...
网站栏目的分类/免费建站网站网页
1、模块的种类 用户自己写的自定义模块Python 标准库模块第三方模块(通过 pip install 安装的第三方库的模块) 2、模块的本质和作用 模块本质上是一个包含函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块…...
湖南大型网站建设公司/搜索引擎优化的重要性
1.先将MySQL停止、命令:systemctl stop mysqld #停掉MySQL命令:systemctl status mysqld #查看状态2.然后跳过授权表启动MySQL服务程序这一步主要利用mysqld的 --skip-grant-tables选项修改my.cnf配置,添加 skip_grant_tables…...