Android修行手册-UI组件快速搭建App界面

简介: 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

有什么需要欢迎私我,交流群让学习不再孤单

👉即将学会

了解Android Studio布局编辑器。

👉背景

在开发阶段UI的代码虽然不需要多的技术含量,但却拥有不容忽视的工作量。要想快速的开发出布局界面,就得熟练的使用好布局编辑器。Android Studio不仅提供了很棒的布局编辑形式,还可以实时显示预览界面。

所以今天我们就要再仔细的学一遍Studio的编辑器,以便快速使用UI组件搭建APP界面。

👉实践过程

😜编辑器简介

网络异常,图片无法展示
|

啊,这该死的高级感!!!

不管打开多少次,一直都觉着界面很漂亮,在这种情况下写代码也是一种舒适啊。

  1. 基本上包含了所有的UI组件,可以直接拖拽到布局当中
  2. 当前布局的层次结构
  3. 可以更改布局/更改主题/更改预览设备等
  4. 当前界面的预览效果,可以直接在里面拖拽UI
  5. 布局编辑器是代码模式还是设计模式
  6. 当前所选UI控件的基础户属性

😜创建及转换布局

选中res下的layout文件夹,右键New-Layout Resource File创建新布局文件

网络异常,图片无法展示
|

然后在布局中增加图片和文本

网络异常,图片无法展示
|

创建布局的时候其实默认是ConstraintLayout根布局,我们要测试转换功能所以用LinearLayout为默认根布局(上图)。

切换为Design模式-右键Component Tree-选中Convert …… to ConstraintLayout,如下图:

网络异常,图片无法展示
|

转化后代码如下图:

网络异常,图片无法展示
|

和最开始的布局书写形式有了很大的变化。那么我们为什么要转一下呢?

  1. 我们只是测试,旧项目升级新项目的时候可以用到,默认创建是ConstraintLayout。
  2. 现在推荐ConstraintLayout,因为她基于约束条件的布局系统,拥有良好的适应性。
  3. 此转换方式不是百分百合适,转换的布局也会有乱的。

😜快速搜索

设计界面支持快速搜索属性:

网络异常,图片无法展示
|

😜快速设置字体样式

  1. 在Design界面,选中一个TextView
  2. 在Attributes中找到textAppearance-fontFamily
  3. 打开列表找到More选择合适字体右侧会提示下载模式或者打包模式,选中一个点击OK即可

网络异常,图片无法展示
|

😜可视化属性操作

现在的Android开发其实不需要写代码也可以搞定布局,不过程序员可能写代码更快一些。

网络异常,图片无法展示
|

选中不同的View后有不同的属性,不过主要是分为5大类

Declared Attributes:当前控件已经有了的属性,点击+号可以添加

Layout:视图宽高可见以及设置一些约束对齐

Transforms:可以设置旋转等变形效果,下图所示

Common Attributes:一些常见属性(可能是必要),如图片的src,TextView的txt和Size等

All Attributes:当前控件的所有可操作属性,必要非必要的都在这,有时候要是写代码忘记了还能在这回忆回忆。

网络异常,图片无法展示
|

😜拖拽布局

如动图GIF

网络异常,图片无法展示
|

所有的UI控件都支持拖动到布局中,Android前期最开始的时候就支持拖动,但也仅仅支持将控件拖拽到布局,再给UI控件精确定位的拖拽就不支持了,搞出来的乱糟糟还不如写代码。后来有了ConstraintLayout约束布局,该布局有除了很好的属性,支持拖拽外,还可以减少布局层级,而且多分辨率适配也表现良好。可真是集万千宠爱于一身啊。

ConstraintLayout

她是一个能够让你可视化操作的新内容(截止到现在其实也诞生很久了),位于Android Jetpack。可以达到不需要嵌套实现大型复杂布局,灵活性远高于RelativeLayout。

她拥有针对父级位置,对齐方式,屏障约束,关键帧动画等超棒的视觉和体验效果。

关于这个ConstraintLayout更多小空会专门的再开一片文章详细的讲解里面的各种骚操作。

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:

https://zhima.blog.csdn.net/

https://www.zhihu.com/people/zhimalier

https://juejin.cn/user/4265760844943479

📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

相关文章
|
2天前
|
JavaScript 前端开发
uni-app组件 子组件onLoad、onReady事件无效
突然发现在项目中,组件 子组件的onLoad、onReady事件无效 打印也出不来值 怎么处理呢?
8 1
|
3天前
|
Android开发
Android面试题经典之如何全局替换App的字体
在Android应用中替换字体有全局和局部方法。全局替换涉及在`Application`的`onCreate`中设置自定义字体,并创建新主题。局部替换则可在布局中通过`ResourcesCompat.getFont()`加载字体文件并应用于`TextView`。
16 2
|
12天前
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
20 6
|
12天前
|
开发工具 Android开发 开发者
Android `.9.png` 图像是用于UI的可拉伸格式,保持元素清晰度和比例
【6月更文挑战第26天】Android `.9.png` 图像是用于UI的可拉伸格式,保持元素清晰度和比例。通过边上的黑线定义拉伸区域,右下角黑点标识内容区域,适应文本或组件大小变化。常用于按钮、背景等,确保跨屏幕尺寸显示质量。Android SDK 提供`draw9patch.bat`工具来创建和编辑。**
29 6
|
17天前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
37 9
|
12天前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
21 2
|
13天前
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
15 2
|
5天前
|
Android开发 索引
Android流布局实现筛选界面
Android流布局实现筛选界面
11 0
|
10天前
|
搜索推荐 Android开发 开发者
Android 自定义组件
Android 自定义组件
9 0
|
10天前
|
存储 程序员 定位技术
程序员必知:安卓的四大组件
程序员必知:安卓的四大组件
11 0