安卓中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.pswp.cn/bicheng/81715.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81715.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81715.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

二十、案例特訓專題3【系統設計篇】web架構設計

一、前言 二、內容提要 三、單機到應用與數據分離 四、集群與負載均衡 五、集群與有狀態無狀態服務 六、ORM 七、數據庫讀寫分離 八、數據庫緩存Memcache與Redis 九、Redis數據分片 哈希分片如果新增分片會很麻煩&#xff0c;需要把之前數據取出來再哈希除模 一致性哈希分片是…

基于Rust語言的Rocket框架和Sqlx庫開發WebAPI項目記錄(一)

前置說明 開發語言&#xff1a;Rust Web框架&#xff1a;Rocket 數據庫&#xff1a;PostgreSQL 開發步驟 新建項目&#xff1a; cargo new projectname 在Cargo.toml文件里配置如下依賴&#xff1a; [dependencies] rocket {version"0.5.0",features["json&qu…

中國城市間交通駕車距離矩陣(2024)

中國城市間交通駕車距離矩陣(2024) 1852 數據簡介 中國城市中心的交通駕車距離&#xff0c;該數據為通過審圖號GS(2024)0650的中國城市地圖得其城市中心距離&#xff0c;再通過高德地圖api計算得出其交通駕車最短距離矩陣&#xff0c;單位為KM&#xff0c;方便大家研究使用。…

MySQL替換瀚高數據庫報錯: TO_DAYS()不存在(APP)

文章目錄 環境癥狀問題原因解決方案報錯編碼 環境 系統平臺&#xff1a;中標麒麟&#xff08;海光&#xff09;7,中標麒麟&#xff08;飛騰&#xff09;7 版本&#xff1a;4.5 癥狀 MySQL替換為瀚高數據庫進行應用系統適配報錯&#xff1a;TO_DAYS&#xff08;&#xff09;不…

驅動-Linux定時-timer_list

了解內核定時相關基礎知識 文章目錄 簡要介紹timer_list 特點API 函數實驗測試程序 - timer_mod.c編譯文件-Makefile實驗驗證 注意事項總結 簡要介紹 硬件為內核提供了一個系統定時器來計算流逝的時間&#xff08;即基于未來時間點的計時方式&#xff0c; 以當前時刻為計時開始…

計算機網絡概要

?絡相關基礎知識 協議 兩設備之間使?光電信號傳輸信息數據 要想傳遞不同信息 那么?者?就需要約定好的數據格式 層 封裝 繼承 多態是計算機的性質 它們?持了軟硬件分層的實現 同層協議可以?接通信 同層協議?不直接通信 是各?調?下層提供的結構能?完成通信 分層…

QT 使用QPdfWriter和QPainter繪制PDF文件

QT如何生產pdf文件&#xff0c;網上有許多文章介紹&#xff0c;我也是看了網上的文章&#xff0c;看他們的代碼&#xff0c;自己琢磨琢磨&#xff0c;才有了本編博客&#xff1b; 其他什么就不詳細說了&#xff0c;本篇博客介紹的QPdfWriter和QPainter繪制PDF文件&#xff1b;…

企業標準信息公共服務平臺已開放標準通編輯器訪問入口

標準通 數字化標準編輯器 專業、高效、便捷 企業標準信息公共服務平臺 近日&#xff0c;企業標準信息公共服務平臺已開放標準通編輯器訪問入口&#xff0c;可進入官網指定版塊使用&#xff01; 核心功能亮點 解決企業痛點 傳統標準編制&#xff0c;需反復核對格式、逐條…

【Hadoop】--HA高可用搭建--3.2.2

修改環境配置文件 hadoop-env.sh # 在文件末尾添加以下內容&#xff1a; # java_home記得修改 export JAVA_HOME/usr/java/jdk1.8.0xxxx export HDFS_NAMENODE_USERroot export HDFS_DATANODE_USERroot export HDFS_ZKFC_USERroot export HDFS_JOURNALNODE_USERroot export YA…

【skywalking】index“:“skywalking_metrics-all“},“status“:404}

skywalking 啟動報錯 java.lang.RuntimeException: {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [skywalking_metrics-all]","resource.t ype":"inde…

【Android】從垂直同步到屏幕刷新機制(一)

【Android】從垂直同步到屏幕刷新機制 本文參考以及部分圖片來源&#xff1a; 垂直同步_小科普&#xff1a;“垂直同步”究竟是什么&#xff1f;-CSDN博客 “終于懂了” 系列&#xff1a;Android屏幕刷新機制—VSync、Choreographer 全面理解&#xff01;-騰訊云開發者社區-騰訊…

ACL完全解析:從權限管理到網絡安全的核心防線

訪問控制列表&#xff08;ACL&#xff09;是一種用于管理資源訪問權限的核心安全機制&#xff0c;廣泛應用于操作系統和網絡設備中。以下是對ACL的詳細解析&#xff1a; 1. 基本概念 定義&#xff1a;ACL是由多個訪問控制條目&#xff08;ACE&#xff09;組成的列表&#xff0…

代碼審計-php框架開發,實戰tp項目,打擊微交易,源碼獲取,擴大戰果

實戰&#xff0c;不安全寫法引發的注入 這個bc靶場源碼沒有&#xff0c;看老師演示 打開很明顯的tp框架源碼 拿到tp框架之后第一步&#xff0c;搜索版本信息5.0.5 兩個思路 1.代碼的不安全寫法 2.版本自身存在的漏洞 全局搜索where看看也沒有不安全的 哎&#xff1f;&…

大模型的實踐應用43-基于Qwen3(32B)+LangChain框架+MCP+RAG+傳統算法的旅游行程規劃系統

大家好,我是微學AI,今天給大家介紹一下大模型的實踐應用43-基于Qwen3(32B)+LangChain框架+MCP+RAG+傳統算法的旅游行程規劃系統。本報告將闡述基于大模型Qwen3(32B)、LangChain框架、MCP協議、RAG技術以及傳統算法構建的智能旅游行程規劃系統。該系統通過整合多種技術優勢,實…

Jsoup庫和Apache HttpClient庫有什么區別?

Jsoup 和 Apache HttpClient 是兩個功能不同的庫&#xff0c;它們在 Java 開發中被廣泛使用&#xff0c;但用途和功能有明顯的區別&#xff1a; Jsoup 用途&#xff1a;Jsoup 是一個用于解析 HTML 文檔的庫。它提供了非常方便的方法來抓取和解析網頁內容&#xff0c;提取和操作…

騰訊云存儲原理

我們來詳細展開你提到的兩個核心結構概念&#xff1a; 一、“基于分布式文件系統 對象存儲技術” 是什么&#xff1f; 1. 分布式文件系統&#xff08;DFS&#xff09;基礎 分布式文件系統是一種支持將數據分布在多個存儲節點上、并對上層用戶透明的文件系統。騰訊云COS雖然是…

python fastapi + react, 寫一個圖片 app

1. 起因&#xff0c; 目的: 上廁所的時候&#xff0c;想用手機查看電腦上的圖片&#xff0c;但是又不想點擊下載。此app 應運而生。 2. 先看效果 單擊圖片&#xff0c;能放大圖片 3. 過程: 過程很枯燥。有時候&#xff0c; 有一堆新的想法。 但是做起來太麻煩&#xff0c;…

Kubernetes控制平面組件:Kubelet詳解(五):切換docker運行時為containerd

云原生學習路線導航頁&#xff08;持續更新中&#xff09; kubernetes學習系列快捷鏈接 Kubernetes架構原則和對象設計&#xff08;一&#xff09;Kubernetes架構原則和對象設計&#xff08;二&#xff09;Kubernetes架構原則和對象設計&#xff08;三&#xff09;Kubernetes控…

QT6 源(111):閱讀與注釋菜單欄 QMenuBar,進行屬性與成員函數測試,信號與槽函數測試,并給出源碼

&#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09; &#xff08;5&#xff09; &#xff08;6&#xff09; &#xff08;7&#xff09;以下源代碼來自于頭文件 qmenubar . h &#xff1a; #ifndef QMENUBAR_H #defi…

Leetcode 3552. Grid Teleportation Traversal

Leetcode 3552. Grid Teleportation Traversal 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3552. Grid Teleportation Traversal 1. 解題思路 這一題的話核心就是一個廣度優先遍歷&#xff0c;我們只需要從原點開始&#xff0c;一點點考察其所能到達的位置&#xff0c;直至…