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

安卓中0dp和match_parent区别

安卓中的 0dp 和 match_parent 的区别?



第一章 前言

有段时间,看到同事在编写代码的时候,写到的是 0dp 有时候自己写代码的时候,编写的是 match_parent 发现有时候效果很类似。

后来通过一个需求案例,才发现两者有着非常明显的区别。

我现在 AI 上面问了一次,两者的区别,给出的表格如下:

特性match_parent0dp
依赖权重不依赖,直接匹配父容器,必须结合 weight 使用依赖权重
布局行为适用于所有的布局大多数出现在 LinearLayout 其实 ConstraintLayout 中也能生效
行为填满父容器剩余的空间按照权重分配剩余的空间
默认效果独立生效不设置 weight 时,尺寸为0 不可见(在LinearLayout当中)




第二章 案例需求

遇到的案例

定义一个 约束布局(ConstraintLayout)实现一个 自定义 输入框的效果:

目标效果图

在这里插入图片描述






案例1:采用 match_parent 编写

案例代码

    <androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/bg_edit_text"android:layout_margin="10dp"android:padding="15dp"><!--app:layout_constraintBottom_toBottomOf="parent"  控件底部和父控件底部对齐app:layout_constraintStart_toStartOf="parent"  控件左侧和父控件左侧对齐app:layout_constraintTop_toTopOf="parent"  控件顶部和父控件顶部对齐--><androidx.appcompat.widget.AppCompatTextViewandroid:id="@+id/text_view_describe"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@color/green"android:text="姓名"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><!--app:layout_constraintEnd_toEndOf="parent"  控件右侧和父控件右侧对其app:layout_constraintStart_toEndOf="@id/text_view_describe"  控件左侧和 text_view_describe 控件右侧对齐--><androidx.appcompat.widget.AppCompatEditTextandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/yellow"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@id/text_view_describe" /></androidx.constraintlayout.widget.ConstraintLayout>

在这里插入图片描述



案例2:采用 0dp 编写

    <androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/bg_edit_text"android:layout_margin="10dp"android:padding="15dp"><!--app:layout_constraintBottom_toBottomOf="parent"  控件底部和父控件底部对齐app:layout_constraintStart_toStartOf="parent"  控件左侧和父控件左侧对齐app:layout_constraintTop_toTopOf="parent"  控件顶部和父控件顶部对齐--><androidx.appcompat.widget.AppCompatTextViewandroid:id="@+id/text_view_describe"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@color/green"android:text="姓名"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><!--app:layout_constraintEnd_toEndOf="parent"  控件右侧和父控件右侧对其app:layout_constraintStart_toEndOf="@id/text_view_describe"  控件左侧和 text_view_describe 控件右侧对齐--><androidx.appcompat.widget.AppCompatEditTextandroid:layout_width="0dp"android:layout_height="match_parent"android:background="@color/yellow"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@id/text_view_describe" /></androidx.constraintlayout.widget.ConstraintLayout>

在这里插入图片描述






因此,这里需要注意的是 0dp 和 match_parent 是存在区别的,
1、不仅仅在于 线性布局 LinearLayout 当中使用。
2、在约束布局当中, 0dp 能够进行更好的适配。





http://www.xdnf.cn/news/6548.html

相关文章:

  • Verilog HDL 语言整理
  • Vue.js教学第二章:Vue实例创建与核心选项全解析
  • 「Mac畅玩AIGC与多模态40」开发篇35 - 用 Python 开发服务对接 SearxNG 与本地知识库
  • C++(16):“”符号
  • 【ARM】MDK如何将变量存储到指定内存地址
  • GESP2025年3月认证C++二级( 第三部分编程题(1)等差矩阵)
  • conda创建环境常用命令(个人用)
  • 优雅使用Gunicorn进程管理FastAPI
  • 硬件厂商的MIB文档详解 | 如何查询OID? | MIB Browser实战指南-优雅草卓伊凡
  • 基于MATLAB-GUI图形界面的数字图像处理
  • 深入理解For循环及相关关键字原理:以Python和C语言为例
  • uni-app x正式支持鸿蒙原生应用开发
  • LeetCode Hot100刷题——合并区间
  • docker学习与使用(概念、镜像、容器、数据卷、dockerfile等)
  • Ubuntu24.04 安装 5080显卡驱动以及cuda
  • 宇树科技申请 “机器人牌照” 商标,剑指机器人领域新高度​
  • 安装Minikube
  • Redis——底层数据结构
  • Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)
  • WebSocket聊天室的简单制作指南
  • 使用IDEA开发Spark Maven应用程序【超详细教程】
  • JMeter 测试工具--组件--简单介绍
  • 解决CLion控制台不能及时显示输出的问题
  • 盲盒软件开发展望:从“随机消费”到“情感经济”,开启下一代娱乐消费革命
  • Go语言八股文之Mysql锁详解
  • 特征提取:如何从不同模态中获取有效信息?
  • Sprnig MVC 如何统一异常处理 (Exception Handling)?
  • 矫平机技术新维度:材料科学、数字孪生与零缺陷制造
  • 基于Matlab实现图像透明叠加程序
  • CSS- 2.1 实战之图文混排、表格、表单