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

Android 约束布局ConstraintLayout整体链式打包居中显示

Android 用约束布局ConstraintLayout实现将多个控件视作一个整体居中显示,使用       app:layout_constraintHorizontal_chainStyle="packed"实现

chain 除了链条方向有横向和竖向区分外, chain链条上的模式有 3种

  •    spread - 元素将被展开(默认样式) 。加权链 - 在spread模式下,如果某些小部件设置为MATCH_CONSTRAINT,则它们将拆分可用空间 
  •    spread_inside - 类似,但链的端点将不会扩展 
  •    packed - 链的元素将被打包在一起。 孩子的水平或垂直偏差属性将影响包装元素的定位
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><!-- 作为父布局的 ConstraintLayout --><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"app:layout_constraintVertical_chainStyle="packed"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><!-- TextView 1 --><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"app:layout_constraintTop_toTopOf="parent"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent"android:background="#ff0000"app:layout_constraintHorizontal_chainStyle="packed"android:text="Text 1"app:layout_constraintEnd_toStartOf="@+id/textView2"/><!-- TextView 2 --><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"app:layout_constraintTop_toTopOf="parent"android:background="#00ff00"app:layout_constraintBottom_toBottomOf="parent"android:text="Text 2"app:layout_constraintStart_toEndOf="@id/textView1" app:layout_constraintEnd_toStartOf="@id/textView3"/><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"app:layout_constraintTop_toTopOf="parent"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintRight_toRightOf="parent"android:background="#0000ff"android:text="Text 3"app:layout_constraintLeft_toRightOf="@id/textView2" /></androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

显示效果如下所示:

相关文章:

Android 约束布局ConstraintLayout整体链式打包居中显示

Android 用约束布局ConstraintLayout实现将多个控件视作一个整体居中显示&#xff0c;使用 app:layout_constraintHorizontal_chainStyle"packed"实现 chain 除了链条方向有横向和竖向区分外&#xff0c; chain链条上的模式有 3种 spread - 元素将被展开&#…...

在C#中,Array,List,ArrayList,Dictionary,Hashtable,SortList,Stack的区别

Array Array你可以理解为是所有数组的大哥 普通数组 : 特点是长度固定, 只能存储相同类型的数据 static void Main(string[] args){//声明int[] ints;string[] strings;People[] peoples;//默认值 //int 类型是 0//string 类型是 nullint[] ints1 { 1, 2, 3 };string[] …...

微服务知识——微服务架构的演进过程

文章目录 初始架构&#xff1a;单机架构第一次演进&#xff1a;Tomcat与数据库分开部署第二次演进&#xff1a;引入本地缓存和分布式缓存第三次演进&#xff1a;引入反向代理实现负载均衡第四次演进&#xff1a;数据库读写分离第五次演进&#xff1a;数据库按业务分库第六次演进…...

Chrome 浏览器:互联网时代的浏览利器

Chrome 浏览器&#xff1a;互联网时代的浏览利器 引言 在互联网时代&#xff0c;浏览器已经成为我们日常生活中不可或缺的工具。作为全球最受欢迎的浏览器之一&#xff0c;Chrome 浏览器凭借其出色的性能、丰富的扩展程序和简洁的界面&#xff0c;赢得了广大用户的喜爱。本文…...

深入浅出 NRM:加速你的 npm 包管理之旅

文章目录 前言一、NRM 是什么&#xff1f;二、为什么需要 NRM&#xff1f;三、NRM 的优势四、NRM 的安装与使用4.1 安装 NRM4.2 查看可用的 npm 源4.3 切换 npm 源4.4 测试 npm 源速度4.5 添加自定义 npm 源4.6 删除 npm 源 五、NRM 的进阶使用六、总结 前言 作为一名 JavaScr…...

Linux——基础命令1

$&#xff1a;普通用户 #&#xff1a;超级用户 cd 切换目录 cd 目录 &#xff08;进入目录&#xff09; cd ../ &#xff08;返回上一级目录&#xff09; cd ~ &#xff08;切换到当前用户的家目录&#xff09; cd - &#xff08;返回上次目录&#xff09; pwd 输出当前目录…...

nuxt3中使用useFetch请求刷新不返回数据或返回html结构问题解决-完整nuxt3useFetchtch请求封装

前言 如果使用nuxt3写项目&#xff0c;可以查看nuxt3实战&#xff1a;完整的 nuxt3 vue3 项目创建与useFetch请求封装&#xff0c;此篇内容有详细步骤 但在此篇内容中useFetch请求在页面有多个请求的情况下&#xff0c;或者放在客户端渲染情境下是失败的&#xff0c;所以在此篇…...

Kubernetes 中 BGP 与二层网络的较量:究竟孰轻孰重?

如果你曾搭建过Kubernetes集群,就会知道网络配置是一个很容易让人深陷其中的领域。在负载均衡器、服务通告和IP管理之间,你要同时应对许多变动的因素。对于许多配置而言,使用二层(L2)网络就完全能满足需求。但边界网关协议(BGP)—— 支撑互联网运行的技术 —— 也逐渐出…...

C中静态库和动态库的使用

2.使用尖括号包括 如果要使用尖括号包括头文件,有两种方法 1.将头文件移动到标准头文件目录,linux为/usr/local/include.windows下为C:\MinGW\include 2.编译时指定头文件目录,gcc -I/头文件目录 … 编译时-I参数就是用于指定头文件目录 3.静态库 将文件编译为静态库,可以…...

Debian 安装 Nextcloud 使用 MariaDB 数据库 + Caddy + PHP-FPM

前言 之前通过 docker在ubuntu上安装Nextcloud&#xff0c;但是现在我使用PVE安装Debian虚拟机&#xff0c;不想通过docker安装了。下面开始折腾。 安装过程 步骤 1&#xff1a;更新系统并安装必要的软件 sudo apt update && sudo apt upgrade -y sudo apt install…...

【FPGA】 MIPS 12条整数指令 【3】

实现乘除 修改框架 EX&#xff1a;实现带符号乘除法和无符号乘除法 HiLo寄存器&#xff1a;用于存放乘法和除法的运算结果。Hi、Lo为32bit寄存器。电路描述与实现RegFile思想一致 仿真 代码 DataMem.v include "define.v"; module DataMem(input wire clk,input…...

Mac 部署Ollama + OpenWebUI完全指南

文章目录 &#x1f4bb; 环境说明&#x1f6e0;️ Ollama安装配置1. 安装[Ollama](https://github.com/ollama/ollama)2. 启动Ollama3. 模型存储位置4. 配置 Ollama &#x1f310; OpenWebUI部署1. 安装Docker2. 部署[OpenWebUI](https://www.openwebui.com/)&#xff08;可视化…...

蓝桥杯小白打卡第二天

789. 数的范围 题目描述 给定一个按照升序排列的长度为 n n n 的整数数组&#xff0c;以及 q q q 个查询。 对于每个查询&#xff0c;返回一个元素 k k k 的起始位置和终止位置&#xff08;位置从 0 0 0 开始计数&#xff09;。 如果数组中不存在该元素&#xff0c;则返…...

Docker Compose:容器编排的利器

Docker Compose:容器编排的利器 引言 随着容器技术的普及,Docker成为了当今最受欢迎的容器编排工具之一。Docker Compose作为Docker生态系统中的一部分,允许用户以声明式的方式定义和运行多容器Docker应用。本文将深入探讨Docker Compose的基本概念、工作原理、使用场景以…...

springboot项目的单元测试

文章目录 依赖编写单测代码一些注意点 依赖 依赖包含了 JUnit、Mockito、Spring Test 等常用的测试工具 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><…...

JVM图文入门

往期推荐 【已解决】redisCache注解失效&#xff0c;没写cacheConfig_com.howbuy.cachemanagement.client.redisclient#incr-CSDN博客 【已解决】OSS配置问题_keyuewenhua.oss-cn-beijing.aliyuncs-CSDN博客 【排坑】云服务器docker部署前后端分离项目域名解析OSS-CSDN博客 微服…...

cursor 开发java项目教程简单上手

1.官网下载 Cursor - The AI Code Editor 下载完后注册账号&#xff0c;可以使用无限邮的方式 注册完之后 设置中文 可以选择设置为中文 Ctrl Shift X 进入设置页面输入chinese 然后重启 更改jdk跟maven仓库设置 ctrlshiftp 打开输入框后输入json&#xff0c;把下面代码…...

优化fm.jiecao.jcvideoplayer_lib中视频横竖屏自动适配原视频方案

fm.jiecao:jiecaovideoplayer:x.x.x 优化fm.jiecao.jcvideoplayer_lib中视频横竖屏自动适配原视频方案&#xff1a; 仅优化关键代码部分&#xff0c;源码&#xff1a; public void startWindowFullscreen() {Log.i(TAG, "startWindowFullscreen " " [" …...

aws(学习笔记第二十七课) 使用aws API Gateway+lambda体验REST API

aws(学习笔记第二十七课) 使用aws API Gatewaylambda体验REST API 学习内容&#xff1a; 使用aws API Gatewaylambda 1. 使用aws API Gatewaylambda 作成概要 使用api gateway定义REST API&#xff0c;之后再接收到了http request之后&#xff0c;redirect到lambda进行执行。…...

物联网的三层架构:感知层、网络层与应用层

物联网&#xff08;Internet of Things, IoT&#xff09;作为现代科技的重要组成部分&#xff0c;正在深刻改变我们的生活和工作方式。它将物理世界与数字世界无缝连接&#xff0c;通过智能设备、传感器和网络技术&#xff0c;实现数据的采集、传输和应用。物联网的架构通常分为…...

终极指南:5分钟掌握STL到STEP格式转换,打破3D设计与制造的数据壁垒

终极指南&#xff1a;5分钟掌握STL到STEP格式转换&#xff0c;打破3D设计与制造的数据壁垒 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 在当今数字化制造与3D设计领域&#xff0c;STL到STEP…...

HBuilderX网站打包APP

下载HBuilderX安装包官网地址&#xff1a;https://www.dcloud.io/ 选择HBuilderX极客开发工具 点击DOWNLOAD 点击历史版本&#xff0c;这里为什么不下载最新的版本&#xff0c;是因为我一开始下载的最新版本&#xff0c;打包一直提示cannot find module babel-core 将HBuilder…...

【力扣100题】48.乘积最大子数组

题目描述 给你一个整数数组 nums&#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff08;该子数组中至少包含一个数字&#xff09;&#xff0c;并返回该子数组所对应的乘积。 测试用例的答案是一个 32 位整数。注意&#xff0c;一个只包含一个元素的数组的乘积就是这个…...

如何快速构建你的第一个AI Discord聊天机器人:gpt-discord-bot完整指南

如何快速构建你的第一个AI Discord聊天机器人&#xff1a;gpt-discord-bot完整指南 【免费下载链接】gpt-discord-bot Example Discord bot written in Python that uses the completions API to have conversations with the text-davinci-003 model, and the moderations API…...

LangChain-Rust:用系统级语言重构大语言模型应用框架

1. 项目概述&#xff1a;当LangChain遇上Rust&#xff0c;会擦出怎样的火花&#xff1f;如果你和我一样&#xff0c;既是LangChain生态的深度用户&#xff0c;又对Rust语言的高性能与安全性念念不忘&#xff0c;那么看到“Abraxas-365/langchain-rust”这个项目标题时&#xff…...

巧用邮件合并批量生成带条形码的证件标签

1. 为什么需要批量生成带条形码的证件标签&#xff1f; 在日常办公中&#xff0c;我们经常会遇到需要批量制作证件标签的情况。比如学校图书馆要给新生办理借书证&#xff0c;公司要给新员工制作工牌&#xff0c;或者社区要给居民发放会员卡。传统的手工制作方式不仅效率低下&…...

Flowable工作流实战:手把手教你安全删除运行中的任务(附完整SQL与避坑指南)

Flowable工作流实战&#xff1a;安全删除运行中任务的完整指南 在业务流程管理系统中&#xff0c;Flowable作为一款轻量级的工作流引擎&#xff0c;因其高效的流程执行能力和灵活的扩展性而广受开发者青睐。然而在实际开发过程中&#xff0c;我们难免会遇到需要强制删除运行中任…...

MusicGPT:基于大语言模型的AI音乐导师项目架构与实现

1. 项目概述&#xff1a;当AI成为你的私人音乐导师最近在GitHub上看到一个挺有意思的项目&#xff0c;叫gabotechs/MusicGPT。光看名字&#xff0c;你可能会觉得这又是一个用GPT来生成音乐旋律或者歌词的玩具。但实际深入进去&#xff0c;你会发现它的野心和实用性远超想象。它…...

别再只当扫码枪用了!用Python+GM861S模块,DIY一个智能物料盘点小工具

用PythonGM861S模块打造智能物料盘点系统 在仓库管理和生产制造场景中&#xff0c;物料盘点是项耗时又容易出错的工作。传统扫码枪往往只作为简单数据采集工具&#xff0c;而结合Python编程能力&#xff0c;我们可以将GM861S这类高性能扫码模块升级为智能终端。这个项目将展示如…...

【从零学Vibe Coding】第二章:大模型到底是怎么工作的(小白版)

第二章&#xff1a;大模型到底是怎么工作的&#xff08;小白版&#xff09; 为什么要了解原理&#xff1f; 很多人一边用 AI 写代码&#xff0c;一边又觉得它像魔法。魔法感越强&#xff0c;失望也越大。 因为一旦它出错&#xff0c;你就不知道问题出在哪&#xff0c;只能骂一…...