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

Android个性名片界面的设计——约束布局的应用

节选自《Android应用开发项目式教程》,机械工业出版社,2024年7月出版
做最简单的安卓入门教程,手把手视频、代码、答疑全配齐

【任务目标】
使用约束布局、TextView控件实现一个个性名片界面的设计,界面如图1所示。
在这里插入图片描述
图1 个性名片界面图
【任务分析】
上述界面可以使用约束布局、线性布局、表格布局来实现,使用约束布局实现较为灵活方便,这里可以采用约束布局中的辅助线,将界面分解为10个区域,再对每个区域中的TextView控件设置约束。
信息安全和隐私保护是每个人都应该关注的重要问题。我们应该加强自我保护意识。不要轻易上传个人信息,尤其是在陌生的平台或网站。此外,我们还应该注意分享信息时的安全问题。本项目开发的个性名片要注意保护个人隐私,不要轻易上传个人信息或分享给陌生人。总之,保护自己的信息安全和隐私是一项长期而艰巨的任务。我们需要时刻保持警惕,采取必要的措施来保护自己的隐私和信息安全。
【任务实施】
1.新建工程项目CallingCard(参考项目1)
2.修改页面布局文件activity_main.xml
1)默认打开的activity_main.xml,如图所示。首先选中“Hello World!”TextView控件,单击Delete键将其删掉。
2)将Plalette区的TextView控件拖到设计预览区,连续拖8个TextView到该区域。
在这里插入图片描述

图2 个性名片步骤2

3)选中一个TextView控件,单击侧边栏的Attributes,打开Attributes窗口,将被选中控件的text属性值修改为“姓名”,其他TextView控件依此类推。
在这里插入图片描述
图3 修改text属性
4)选中界面中所有的TextView控件,单击Attributes窗口的搜索框,搜索“text”属性,整体修改TextView控件的字体大小为20sp,颜色为#3F51B5,修改完后,界面如图4所示。
在这里插入图片描述

图4 修改textSize和textColor属性
5)添加4根横向辅助线,1根纵向辅助线,横向辅助线位置分别为界面垂直方向的15%、30%、45%、60%处,纵向辅助线为界面水平方向的35%,将整个界面分成10个区域,如图5所示。
在这里插入图片描述

图5 添加水平辅助线

6)接着添加TextView控件的位置约束,将其分布在界面上方的8个区域中心,如图所示。首先确定姓名TextView控件的位置,如图6所示。其他TextView控件的位置可以使用相同的方法确定约束,也可以使用对齐工具 中的 来确定位置。
在这里插入图片描述
图6 添加控件约束
7)所有TextView控件的位置约束添加完成后,如图7所示。
在这里插入图片描述
图7 约束完成图

8)运行此App,如无错误则完成此项目。如有错误,可以查看所有控件位置是否完全确定,如果不完全确定,Component Tree区会出现错误提示,如图8所示。
在这里插入图片描述

图8 约束布局错误提示
编译运行应用,效果如图9所示。
在这里插入图片描述

图9 个性名片运行效果图

2.4.1Android安卓开发之个性名片界面的设计约束布局实操ConstraintLayout

更多内容见《Android应用开发项目式教程》,做最简单的安卓入门教程,手把手视频、代码、答疑全配齐
在这里插入图片描述

相关文章:

Android个性名片界面的设计——约束布局的应用

节选自《Android应用开发项目式教程》,机械工业出版社,2024年7月出版 做最简单的安卓入门教程,手把手视频、代码、答疑全配齐 【任务目标】 使用约束布局、TextView控件实现一个个性名片界面的设计,界面如图1所示。 图1 个性名片…...

Python 课程18-SQLAlchemy

前言 SQLAlchemy 是一个功能强大的 Python SQL 工具包和对象关系映射(ORM)库,它使得开发者能够通过 Python 代码与数据库进行交互,而不必编写 SQL 查询。SQLAlchemy 提供了对多种数据库的支持,包括 MySQL、PostgreSQL…...

Module did not self-register: ‘drivelist.node‘报错解决

报错如下: node_modules/bindings/bindings.js:121throw e;^Error: Module did not self-register: xxxx/node_modules/drivelist/build/Release/drivelist.node.at process.func [as dlopen] (electron/js2c/asar.js:140:31)at Object.Module._extensions..node (…...

zabbix基本概念与组件

文章目录 一、zabbix简介二、​​​​​​​zabbix构成三、​​​​​​​zabbix监控对象四、​​​​​​​zabbix常用术语五、 Zabbix 6.0 新特性1.Zabbix server高可用防止硬件故障或计划维护期的停机2.Kubernetes系统从多个维度采集指标 六、zabbix 工作原理1、主动模式2、…...

Linux常用网络工具及示例

Linux系统中有许多用于网络管理、监控和故障排除的工具。以下是一些常用的网络工具及其基本用法示例: 1. ping - 测试主机之间的网络连接。 ping www.google.com 2. netstat - 显示网络连接、路由表、接口统计等信息。 netstat -an # 显示所有网络连接和监听…...

Go容器化微服务系统实战

1-1 本课的go微服务有什么不同? 聚焦于容器化可观测的购物微服务系统实战,通过介绍Go语言的应用趋势、容器化优势及微服务适用性,旨在解决学习微服务过程中遇到的难点。课程内容涵盖微服务整体架构、技术工具框架及容器平台等关键技术&#…...

研究生三年概括

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、研一1.上学期2. 下学期 二、研二1.研二上2.研二下 三、研三1.研三上2.研三下 前言 不知道是谁说的了,人生的路很长,关键的就那么几…...

MongoDB在Linux系统中的安装与配置指南

在这篇文章中,我们将介绍如何在CentOS 7服务器上安装MongoDB,并通过DataX将数据从MongoDB迁移到MySQL数据库。这将包括MongoDB的安装、配置、数据准备以及使用DataX进行数据迁移的详细步骤。 MongoDB简介 MongoDB是一个高性能、开源、无模式的文档型数据…...

Linux下如何实现不用加路径调用启动脚本

配置Systemctl启动 Linux下便于启停服务,可以配置systemcl,配置如下描述 说明 只有root用户可配置,文件路径为 /etc/systemd/system/XXX.service,本文将用nginx.service举例说明 1、创建文件 首先创建一个nginx.service文件,用于配置ngi…...

编程练习2 数据单元的变量替换

示例1: 1,2<A>00 示例2: 1,2<A>00,3<A>00 示例3: <B>12,1,2<B>1 示例4: <B<12,1 输出依次如下&#xff1a; #include<iostream> #include<vector> #include<string>using namespace std;/* 字符分割函数 将传入…...

mysql的查询操作

MySQL的查询操作是数据库管理和数据检索的核心。通过SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;语句&#xff0c;用户可以执行包括数据检索、数据插入、更新和删除在内的多种操作。在本文中&#xff0c;我们将重点讨论数据检索&#xff…...

0基础学前端 day2

大家好&#xff0c;欢迎来到无限大的频道。 今天继续带领大家开始0基础学前端。 一、CSS简介与基础 层叠样式表&#xff08;CSS&#xff0c;Cascading Style Sheets&#xff09;是用来进行网页样式和布局设计的语言。通过CSS&#xff0c;开发者可以控制网页中元素的颜色、字体…...

Invalid Executable The executable contains bitcode

Invalid Executable The executable contains bitcode xcode世界xcode16后&#xff0c;打包上传testflight时三方库报错&#xff1a;Invalid Executable - The executable ***.app/Frameworks/xxx.framework/xxx contains bitcode. 解决方案&#xff1a; 执行一下指令删除该f…...

音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件

一、引言 有很多工具可以分析FLV格式&#xff0c;这里推荐flvAnalyser。其支持&#xff1a; 1.FLV 文件分析&#xff08;Tag 列表、时间戳、码率、音视频同步等&#xff09;&#xff0c;HEVC(12)/AV1(13) or Enhanced RTMP v1 with fourCC(hvc1/av01)&#xff1b; 2.RTMP/HTT…...

Java服务端开发中的网络安全:防护DDoS与数据泄露的策略

Java服务端开发中的网络安全&#xff1a;防护DDoS与数据泄露的策略 大家好&#xff0c;我是微赚淘客返利系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在Java服务端开发中&#xff0c;网络安全是我们必须重点关注的领域&#xff0c…...

CodeMeter 8.20AxProtector 11.50版本更新

CodeMeter是一款强大的软件保护和许可管理工具&#xff0c;此次8.20版本更新引入了多个重要的新功能和优化&#xff0c;进一步提升了不同平台上的兼容性与使用体验。本次更新扩展了对CmCloudContainer的支持&#xff0c;优化了Python、Rust等语言的加密能力&#xff0c;并修复了…...

C语言在嵌入式系统中的应用有哪些?

C语言在嵌入式系统中的应用非常广泛&#xff0c;这主要得益于其高效的运行速度、优秀的代码优化能力以及丰富的函数库。以下是C语言在嵌入式系统应用中的几个关键方面&#xff1a; 1. 硬件直接访问能力 底层硬件操作&#xff1a;C语言提供了直接访问底层硬件的机制&#xff0…...

Android 系统WIFI AP模式

在 Android 系统中&#xff0c;AP 模式&#xff08;Access Point Mode&#xff0c;热点模式&#xff09;允许设备作为 Wi-Fi 热点&#xff0c;其他设备可以通过连接这个热点进行互联网访问或局域网通信。要让 Android 设备工作在 AP 模式&#xff0c;你可以通过应用层的 API 控…...

java jdk8内存序列化为xml

在Java JDK 8中&#xff0c;将对象内存序列化为XML格式&#xff0c;可以使用JAXB&#xff08;Java Architecture for XML Binding&#xff09;&#xff0c;它是JDK 8的一部分&#xff0c;并且被广泛用于Java对象与XML之间的转换。以下是一个使用JAXB在JDK 8中将Java对象序列化为…...

脚本注入网页:XSS

跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称 XSS&#xff09;是一种常见的网络安全漏洞。它是指攻击者在网页中注入恶意脚本代码&#xff0c;当用户访问该网页时&#xff0c;恶意脚本会在用户的浏览器中执行&#xff0c;从而导致一系列安全问题。这些问题可…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...