android 布局小知識點 隨記

1. 布局屬性的命名前綴規律

與父容器相關的前綴
  • layout_alignParent:相對于父容器的對齊方式。
    例如:layout_alignParentTop="true"(相對于父容器頂部對齊)。
  • layout_margin:與父容器或其他控件的邊距。
    例如:layout_marginTop="16dp"(距離父容器頂部或上方控件 16dp)。
  • layout_gravity:控件在父容器中的對齊方式(僅部分布局支持,如?LinearLayout)。
與兄弟控件相關的前綴
  • layout_align:與其他控件的對齊方式。
    例如:layout_alignTop="@id/otherView"(與?otherView?的頂部對齊)。
  • layout_toRightOf/layout_below:相對于其他控件的位置。
    例如:layout_toRightOf="@id/button1"(位于?button1?的右側)。
控件自身特性前綴
  • android:gravity:控件內部內容的對齊方式。
  • android:padding:控件內容與自身邊界的距離。
  • android:layout_width/layout_height:控件自身的寬高。

2. 不同布局容器的特性與常用屬性

LinearLayout(線性布局)
  • 特有屬性
    • android:orientation(水平 / 垂直排列)。
    • layout_weight(權重,控制控件在剩余空間中的占比)。
    • layout_gravity(控件在當前方向的對齊方式,如?layout_gravity="right"?在垂直方向有效)。
RelativeLayout(相對布局)
  • 核心邏輯:通過與其他控件或父容器的相對位置關系定位。
  • 特有屬性
    • layout_alignParentXXX(與父容器對齊)。
    • layout_alignXXX(與其他控件對齊)。
    • layout_toXXXOf(相對于其他控件的位置)。
    • layout_centerInParent/layout_centerHorizontal(居中對齊)。
FrameLayout(幀布局)
  • 特性:所有控件堆疊在左上角,后添加的控件覆蓋在前的控件。
  • 常用屬性
    • layout_gravity(控制控件在容器中的對齊方式)。
ConstraintLayout(約束布局)
  • 核心邏輯:通過控件間的約束關系(連線)定位。
  • 特有屬性
    • app:layout_constraintStart_toEndOf(左側連接到另一個控件的右側)。
    • app:layout_constraintVertical_bias(垂直方向的偏移比例)。
    • app:layout_constrainedWidth/layout_constrainedHeight(約束寬高)。
TableLayout/GridLayout
  • 特性:表格或網格布局,通過行列定位。
  • 特有屬性
    • layout_column/layout_row(指定單元格位置)。

3. 記憶技巧

  1. 按前綴分組

    • layout_alignParentXXX?→ 與父容器相關。
    • layout_alignXXX/layout_toXXXOf?→ 與其他控件相關。
    • layout_gravity?→ 控件在父容器中的對齊(部分布局支持)。
    • android:gravity/android:padding?→ 控件自身內容的對齊或內邊距。
  2. 結合布局特性

    • 線性布局:關注?orientation?和?weight
    • 相對布局:關注各種?layout_align?和?layout_toXXXOf
    • 約束布局:關注約束連線的方向(Start_toEndOfTop_toBottomOf?等)。
  3. 通過可視化工具輔助
    Android Studio 的布局編輯器可直觀調整屬性,幫助理解屬性作用。

4. 常見混淆點

  • layout_gravity?vs?android:gravity:前者控制控件在父容器中的位置,后者控制控件內部內容的位置。
  • margin?vs?padding:前者是控件與外部的距離,后者是控件內容與邊界的距離。
  • RelativeLayout 的?layout_align?與 ConstraintLayout 的約束:前者直接指定控件 ID,后者通過方向約束。

通過前綴和布局特性的組合記憶,能快速掌握不同場景下的布局屬性!如果遇到具體屬性不理解,建議在 Android Studio 中實時預覽效果,加深記憶。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84266.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84266.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84266.shtml

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

相關文章

GeoDrive:基于三維幾何信息有精確動作控制的駕駛世界模型

25年5月來自北大、理想汽車和 UC Berkeley 的論文“GeoDrive: 3D Geometry-Informed Driving World Model with Precise Action Control”。 世界模型的最新進展徹底改變動態環境模擬,使系統能夠預見未來狀態并評估潛在行動。在自動駕駛中,這些功能可幫…

Java高頻面試之并發編程-25

hello啊,各位觀眾姥爺們!!!本baby今天又來報道了!哈哈哈哈哈嗝🐶 面試官:CAS都有哪些問題?如何解決? CAS 的問題及解決方案 CAS(Compare and Swap&#xff0…

從碳基羊駝到硅基LLaMA:開源大模型家族的生物隱喻與技術進化全景

在人工智能的廣袤版圖上,一場從生物學羊駝到數字智能體的奇妙轉變正在上演。Meta推出的LLaMA(Large Language Model Meta AI)系列模型,不僅名字源自美洲駝(llama),更以其開源特性和強大性能,引領了開源大模型社區的“駝類大爆發”…

可下載舊版app屏蔽更新的app市場

軟件介紹 手機用久了,app越來越臃腫,老手機卡頓成常態。這里給大家推薦個改善老手機使用體驗的方法,還能幫我們卸載不需要的app。 手機現狀 如今的app不斷更新,看似在優化,實則內存占用越來越大,對手機性…

Python_day47

作業:對比不同卷積層熱圖可視化的結果 一、不同卷積層的特征特性 卷積層類型特征類型特征抽象程度對輸入的依賴程度低層卷積層(如第 1 - 3 層)邊緣、紋理、顏色、簡單形狀等基礎特征低高,直接與輸入像素關聯中層卷積層&#xff08…

比較數據遷移后MySQL數據庫和達夢數據庫中的表

設計一個MySQL數據庫和達夢數據庫的表數據比較的詳細程序流程,兩張表是相同的結構,都有整型主鍵id字段,需要每次從數據庫分批取得2000條數據,用于比較,比較操作的同時可以再取2000條數據,等上一次比較完成之…

GC1808高性能24位立體聲音頻ADC芯片解析

1. 芯片概述 GC1808是一款24位立體聲音頻模數轉換器(ADC),支持8kHz~96kHz采樣率,集成Δ-Σ調制器、數字抗混疊濾波器和高通濾波器,適用于高保真音頻采集場景。 2. 核心特性 高精度:24位分辨率&#xff0c…

Linux 文本比較與處理工具:comm、uniq、diff、patch、sort 全解析

在類 UNIX 操作系統,特別是 Linux 系統中,命令行提供了一整套強大的文本處理工具,這些工具對于文件差異對比、內容篩選、文本排序以及源代碼管理尤為重要。今天,我們將結合真實示例,深入介紹并實戰演示 comm、uniq、di…

6月6日day46打卡

通道注意力(SE注意力) 知識點回顧: 不同CNN層的特征圖:不同通道的特征圖什么是注意力:注意力家族,類似于動物園,都是不同的模塊,好不好試了才知道。通道注意力:模型的定義和插入的位置通道注意力…

前端技能包

ES6 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><script>// 變量定義var a1;let b5; // 現在使用let 定義變量// 對象解構let person{&quo…

大數據(1) 大數據概述

一、大數據時代 1.三次信息化浪潮 二、什么是大數據 1.四個特點 4V&#xff1a;數據量&#xff08;Volume&#xff09;大、數據類型&#xff08;Variety&#xff09;繁多、處理速度&#xff08;Velocity&#xff09;快、價值密度&#xff08;Value&#xff09;低 三、大數據…

element-plus 單選組件 el-radio,選不上,又沒報錯,直接復制官網也不行解決方案

在使用 Vue 框架開發項目時&#xff0c;Element UI 是常用的組件庫。最近在開發中遇到了 Element 單選框組件el-radio的雙向綁定問題&#xff0c;直接復制element官網上的的案例下來也是不得&#xff0c;經過調試和探索&#xff0c;終于找到了解決方案&#xff0c;特此記錄分享…

使用 Amazon Q Developer CLI 快速搭建各種場景的 Flink 數據同步管道

在 AI 和大數據時代&#xff0c;企業通常需要構建各種數據同步管道。例如&#xff0c;實時數倉實現從數據庫到數據倉庫或者數據湖的實時復制&#xff0c;為業務部門和決策團隊分析提供數據結果和見解&#xff1b;再比如&#xff0c;NoSQL 游戲玩家數據&#xff0c;需要轉換為 S…

開疆智能Ethernet/IP轉Modbus網關連接質量流量計配置案例

首先設置modbus從站的485參數&#xff0c;確保網關和從站的485參數保持一致。 設置完成后打開網關配置軟件并新建項目 先設置網關在Ethernet一側的IP地址以及數據轉換長度。 設置網關的Modbus參數如波特率9600無校驗8數據位&#xff08;無校驗選8&#xff0c;有校驗選9&#xf…

多智能體MPE環境遇到的若干問題

最近學習MADDPG算法&#xff0c;用MPE環境來測試算法性能。于是便下載了pettingzoo包&#xff0c;運行了simple_tag_v3環境&#xff0c;此環境中有獵人、逃亡者和障礙物。 問題1: MPE中的simple_tag_v3環境&#xff0c;在渲染時看似移動的問題 由于相機視角跟隨導致的視覺錯覺…

[特殊字符] FFmpeg 學習筆記

一、FFmpeg 簡介 FFmpeg 是一個開源跨平臺的視頻和音頻處理工具&#xff0c;支持錄制、轉換、流處理等功能。 官網&#xff1a;https://ffmpeg.org 安裝命令&#xff08;macOS&#xff09;&#xff1a; brew install ffmpeg二、基本命令結構 ffmpeg -i 輸入文件 [參數] 輸出…

leetcode Top100 238. 除自身以外數組的乘積|數組系列

題目鏈接&#xff1a;238. 除自身以外數組的乘積 - 力扣&#xff08;LeetCode&#xff09; 238. 除自身以外數組的乘積|數組系列 給你一個整數數組 nums&#xff0c;返回 數組 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 …

【Liunx專欄_6】Linux線程概念與控制

目錄 1、線程是什么&#xff1f;通過一個圖來理解……2、Linux進程和線程&#xff1f;2.1、之間的關系和區別2.2、線程的優缺點&#xff1f; 3、線程的創建3.1、POSIX線程庫3.2、創建線程3.3、PS查看運行的線程 4、線程的終止5、線程的等待6、線程分離7、線程封裝 1、線程是什么…

「Java基本語法」標識符、關鍵字與常量

知識點解析 1&#xff0e;標識符&#xff08;Identifiers&#xff09;&#xff1a;用于命名類、方法、變量等。 標識符命名規則&#xff1a; 標識符由字母&#xff08;A-Z&#xff0c;a-z&#xff09;、數字&#xff08;0-9&#xff09;、下劃線“_”或美元符號“$”組成。標…

Nginx Stream 層連接數限流實戰ngx_stream_limit_conn_module

1.為什么需要連接數限流&#xff1f; 數據庫/Redis/MQ 連接耗資源&#xff1a;惡意腳本或誤配可能瞬間占滿連接池&#xff0c;拖垮后端。防御慢速攻擊&#xff1a;層疊式限速&#xff08;連接數&#xff0b;帶寬&#xff09;可阻擋「Slow Loris」之類的 TCP 低速洪水。公平接入…