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

安卓中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.lryc.cn/news/2378725.html

相关文章:

  • 蓝桥杯-不完整的算式
  • 信贷风控笔记4——贷前策略之额度、定价(面试准备12)
  • A级、B级弱电机房数据中心建设运营汇报方案
  • Linux中的域名解析服务器
  • 如何优化Java中十进制字符串转十六进制的性能
  • CycleISP: Real Image Restoration via Improved Data Synthesis通过改进数据合成实现真实图像恢复
  • Day28 Python打卡训练营
  • 【OpenCV】基本数据类型及常见图像模式
  • Linux之Nginx安装及配置原理篇(一)
  • 【Linux网络】NAT和代理服务
  • 中药药效成分群的合成生物学研究进展-文献精读130
  • 【消息队列】RabbitMQ基本认识
  • OCCT知识笔记之OCAF框架详解
  • 蓝桥杯 16. 外卖店优先级
  • 1T 服务器租用价格解析
  • 【JavaWeb】Maven(下)
  • java.lang.ArithmeticException
  • openEuler24.03 LTS下安装MySQL8.0.42
  • gflags 安装及使用
  • Linux面试题集合(2)
  • 致敬经典 << KR C >> 之打印输入单词水平直方图和以每行一个单词打印输入 (练习1-12和练习1-13)
  • std::ratio<1,1000> 是什么意思?
  • 基于Llama3的开发应用(二):大语言模型的工业部署
  • 2025.05.17淘天机考笔试真题第三题
  • windows 10 做服务器 其他电脑无法访问,怎么回事?
  • Linux进程信号处理(26)
  • 【从设置到上传的全过程】本地多个hexo博客,怎么设置ssh才不会互相影响
  • 顶层架构 - 消息集群推送方案
  • Python训练打卡Day26
  • 构建优雅对象的艺术:Java 建造者模式的架构解析与工程实践