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

Android-UI设计

控件

控件是用户与应用交互的元素。常见的控件包括:

  1. 按钮 (Button):用于执行动作。
  2. 文本框 (EditText):让用户输入文本。
  3. 复选框 (CheckBox):允许用户选择或取消选择某个选项。
  4. 单选按钮 (RadioButton):用于在多个选项中选择一个。
  5. 下拉列表 (Spinner):提供一个选择列表。
  6. 图像视图 (ImageView):显示图片。

容器

容器用于组织和布局控件。常见的容器包括:

  1. 线性布局 (LinearLayout):按水平或垂直方向排列子控件。
  2. 相对布局 (RelativeLayout):子控件可以相对其他控件或父容器进行定位。
  3. 约束布局 (ConstraintLayout):灵活的布局方式,支持复杂的界面设计。
  4. 网格布局 (GridLayout):将控件排列成网格的形式

顶层容器

顶层容器是整个界面的基础,通常是应用的主布局。常见的有:

  • Activity:代表一个单一的界面。
  • Fragment:可以在Activity内重用,便于管理不同的界面部分。

中间容器

中间容器用于组织和布局控件,通常用于分组和控制排列方式。包括:

  • LinearLayout:可以垂直或水平排列子控件。
  • RelativeLayout:根据控件之间的关系进行布局。
  • ConstraintLayout:用于更复杂的布局,支持灵活的控件定位。

安卓UI设计中,容器控件是用于组织和管理其他控件的布局元素。以下是一些常见的容器控件及其特点:

1. LinearLayout

  • 特点:将子控件按线性方式排列,可以选择水平或垂直方向。
  • 用途:简单的列表或表单布局。

2. RelativeLayout

  • 特点:允许子控件相对其他控件或父容器进行定位。
  • 用途:适合需要灵活排列控件的复杂布局。

3. ConstraintLayout

  • 特点:通过约束方式实现灵活布局,能有效减少嵌套,提高性能。
  • 用途:适合复杂界面,推荐用于现代应用。

4. FrameLayout

  • 特点:用于堆叠子控件,后添加的控件会覆盖前面的控件。
  • 用途:适合需要重叠显示的元素,例如图像叠加。

5. GridLayout

  • 特点:将控件以网格形式排列,指定行和列。
  • 用途:适合表格或卡片布局。

6. ScrollView

  • 特点:提供滚动功能,通常只能包含一个子控件。
  • 用途:适合内容超出屏幕的情况,便于用户查看。

7. ViewPager

  • 特点:允许用户通过滑动手势在多个页面之间切换。
  • 用途:常用于显示一系列的图像或界面。

8. TabLayout

  • 特点:显示选项卡,用户可以通过点击不同的标签切换内容。
  • 用途:适合分类展示不同类型的信息。

一般来讲ui文件为xml ,同时保存在res 中的layout文件夹下。并且有两种模式一种还是text和一种视图状态。

在Android界面XML中,根标签通常是一个布局控件,决定了界面的整体结构。常见的根标签包括:

1. LinearLayout

  • 用于线性排列子控件。

2. RelativeLayout

  • 允许控件相对定位。

3. ConstraintLayout

  • 提供灵活的约束布局,适合复杂界面。

4. FrameLayout

  • 用于简单堆叠子控件。

5. ScrollView

  • 允许内容滚动,通常只包含一个直接子控件。
android 和api

Android版本(如Android 9)指的是操作系统的整体版本,包含了一系列功能和用户界面更新。而API级别(如API 35)则是开发者用来编写应用的接口版本,定义了可用的编程功能和特性。

实操ui设计

image.png
image.png
可以看到有很多控件,我们可以拖动。但是同样也可以修改对齐的标准。这一点只能靠自己摸索。感觉语言表达不出来。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构与算法 #时间复杂度 #空间复杂度
  • 可智能生成刺绣图案!武汉纺织大学可视计算与数字纺织团队发布首个多缝线刺绣生成对抗网络模型,被顶级期刊 TVCG 录用
  • 《重生之我在java世界做任务升级》--第二章
  • 机器学习及其应用领域【金融领域】
  • 算法导论——Data Structures and Dynamic Arrays 笔记
  • 进度调度切换
  • HTML+CSS学习笔记
  • Elasticsearch——介绍、安装与初步使用
  • 【UI自动化】前言
  • ELK-01-elasticsearch-8.15.1安装
  • 【LLM】Ollama:本地大模型使用
  • 力扣3290.最高乘法得分
  • sklearn特征选取之RFE
  • 【Linux篇】TCP/IP协议(笔记)
  • 软考中级系统集成项目管理证书好考吗
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Java,console输出实时的转向GUI textbox
  • JS 面试题总结
  • Mac转Windows的拯救指南
  • React Native移动开发实战-3-实现页面间的数据传递
  • Vue 动态创建 component
  • 大整数乘法-表格法
  • 软件开发学习的5大技巧,你知道吗?
  • 想写好前端,先练好内功
  • 译自由幺半群
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 交换综合实验一
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​数据结构之初始二叉树(3)
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $nextTick的使用场景介绍
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Oracle)SQL优化技巧(一):分页查询
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (循环依赖问题)学习spring的第九天
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (译) 函数式 JS #1:简介
  • (轉貼) UML中文FAQ (OO) (UML)
  • .NET Core中如何集成RabbitMQ
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net mvc 获取url中controller和action
  • .net Stream篇(六)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • [2018-01-08] Python强化周的第一天
  • [ACM] hdu 1201 18岁生日
  • [BetterExplained]书写是为了更好的思考(转载)
  • [BT]BUUCTF刷题第9天(3.27)