Android开发 - 掌握ConstraintLayout(三)编辑器

简介: 从本篇博客开始我们开始介绍如何使用ConstraintLayout。既然ConstraintLayout叫约束布局,首先我们先介绍什么叫约束(Constraints): 约束(Constraints) 一个约束表示View之间的"布局约束"关系,以及约束的位置,类似RelativeLayout的"相对"概念。

从本篇博客开始我们开始介绍如何使用ConstraintLayout。
既然ConstraintLayout叫约束布局,首先我们先介绍什么叫约束(Constraints):

约束(Constraints)

一个约束表示View之间的"布局约束"关系,以及约束的位置,类似RelativeLayout的"相对"概念。

编辑器介绍

在工程中我们新建一个布局activity_main.xml,整个界面如下:

-w1280

这是一个编辑器整体的界面,下面我们来介绍一些常用的功能:

  • 设计/文本视图

-w233

左下角有视图切换的选项,通过这个选项我们可以切换设计/(代码)文本视图,传统在开发的过程中可能觉得设计视图并不常用,但是在使用ConstraintLayout时它确实很强大,反而可能很少用代码视图了。

  • 设计/蓝图

-w702

这里我们可以看到左上角的按钮,这个是用来切换设计界面和蓝图界面的,通常我们需要两个界面都展示,这样我们可以更加清晰地看到各个View的约束。

  • 设备与分辨率适配

-w361

这个功能我们可以切换横竖屏等UI的模式,这个功能也可以使我们方便的进行各种UI模式的适配。

-w509

在这里我们可以预览当前布局在不同的分辨率下的效果,这个功能在适配的时候非常方便,这里提一下下面的Custom选项,这个功能允许我们将当前布局拖拽成任意的大小:

-w536

  • 自动约束

-w700

这个功能允许编辑器自动进行约束,当我们拖拽一个空间到视图中后,编辑器会自动为我们创建一个约束,可能很多时候我们并不需要自动约束,我们可以点击把它关闭。

  • 约束推断

-w700

这个按钮类似PS的魔棒,它的功能是进行约束的推断,如图我拖拽了两个按钮到布局中,一开始并没有任何约束,当我点击了这个按钮后,自动为我生成了如图的约束。

代码视图

我们切换到代码视图:

-w836

此时我们发现界面的哪些约束在代码中也仅仅增加了几行代码,用来表示当前的约束,仔细观察后我们发现其实都是toStartOf,toEndOf,toTopOf...,这些都是指定的当前View与其它View(或Parent)之间的关系,对比一下RelativeLayout,我们很容易就能明白。

如果当前没有任何约束的时候,我们观察代码:

-w826

注意这些tools:xxx,只是表示View在编辑器的绝对位置,是用来我们设计(拖拽)时使用的。如果不添加约束,运行后只是显示在屏幕的左上角,重叠在一起。

总结

本文我们主要讲解了ConstraintLayout编辑器常用功能的使用。这些功能灵活且方便地帮助我们布局页面。下一篇:Android开发 - 使用ConstraintLayout(四)创建基本约束我们将介绍使用基本的约束。

本文地址,如有更多疑问,请参考我的其它Android相关博客:我的博客地址

目录
相关文章
|
3天前
|
XML 存储 Java
探索安卓开发之旅:从基础到进阶
【9月更文挑战第37天】安卓开发,一个充满无限可能的领域。它不仅关乎技术的深度与广度,更关乎开发者的成长与突破。本文将带你走进安卓开发的世界,从基础知识的学习到进阶技巧的掌握,一起感受编程的魅力与乐趣。
|
13天前
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
3天前
|
安全 Java API
Java 泛型在安卓开发中的应用
在Android开发中,Java泛型广泛应用于集合类、自定义泛型类/方法、数据绑定、适配器及网络请求等场景,有助于实现类型安全、代码复用和提高可读性。例如,结合`ArrayList`使用泛型可避免类型转换错误;自定义泛型类如`ApiResponse<T>`可处理不同类型API响应;RecyclerView适配器利用泛型支持多种视图数据;Retrofit结合泛型定义响应模型,明确数据类型。然而,需注意类型擦除导致的信息丢失问题。合理使用泛型能显著提升代码质量和应用健壮性。
|
2天前
|
设计模式 前端开发 数据库
探索安卓开发之旅——从初学者到专家
在数字时代的浪潮中,安卓应用开发成为了众多开发者的热门选择。本篇文章旨在为初入安卓开发的新手提供一个清晰的学习路径,从基础概念到高级技巧,逐步引导读者掌握安卓开发的核心知识。我们将通过实际代码示例,展示如何从零开始构建一个安卓应用,并介绍一些提升开发效率的工具和库。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往安卓开发世界的大门。
|
10天前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
37 7
|
13天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台解决方案
【9月更文挑战第27天】在移动应用开发的广阔天地中,安卓和iOS两大操作系统如同双子星座般耀眼。开发者们在这两大平台上追逐着创新的梦想,却也面临着选择的难题。如何在保持高效的同时,实现跨平台的开发?本文将带你探索跨平台开发的魅力所在,揭示其背后的技术原理,并通过实际案例展示其应用场景。无论你是安卓的忠实拥趸,还是iOS的狂热粉丝,这篇文章都将为你打开一扇通往跨平台开发新世界的大门。
|
10天前
|
缓存 Java Linux
探索安卓开发:从新手到专家的旅程
【9月更文挑战第30天】在这篇文章中,我们将一起踏上一段激动人心的旅程,探索安卓开发的广阔世界。无论你是刚入门的新手,还是希望提升技能的开发者,本文都将为你提供宝贵的知识和指导。我们将深入探讨安卓开发的基础知识、关键概念、实用工具和最佳实践,帮助你在安卓开发领域取得更大的成功。让我们一起开启这段精彩的旅程吧!
|
11天前
|
监控 安全 Java
Kotlin 在公司上网监控中的安卓开发应用
在数字化办公环境中,公司对员工上网行为的监控日益重要。Kotlin 作为一种基于 JVM 的编程语言,具备简洁、安全、高效的特性,已成为安卓开发的首选语言之一。通过网络请求拦截,Kotlin 可实现网址监控、访问时间记录等功能,满足公司上网监控需求。其简洁性有助于快速构建强大的监控应用,并便于后续维护与扩展。因此,Kotlin 在安卓上网监控应用开发中展现出广阔前景。
10 1
|
14天前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
|
14天前
|
搜索推荐 前端开发 Android开发
安卓开发中的自定义视图:打造个性化用户界面
【9月更文挑战第26天】在移动应用开发的广阔天地中,定制性是提升用户体验的不二法宝。本文将带你深入了解安卓开发中自定义视图的魅力所在,通过简洁明了的语言和直观的代码示例,展示如何从零开始创建属于自己的控件,让你的应用界面与众不同。