Android約束布局的概念與屬性(1)

目錄

    • 1.相對定位約束
    • 2.居中和偏移約束

約束布局(ConstraintLayout)是當前Android Studio默認的布局方式,也是最靈活的一種布局方式。約束布局推薦使用所見即所得的模式進行布局,約束布局的大部分布局可以通過Design視圖完成,可以在布局文件的Design視圖中采用鼠標拖放操作結合屬性欄窗口設置完成約束布局的界面設計,大幅簡化布局代碼輸入和控件間位置關系的人為判斷。約束布局的屬性非常多,但是不需要強記,可以通過Design頁面來認識各種屬性。

早期的Android的相對布局(RelativeLayout)基本被約束布局所ConstraintLayout取代,ConstraintLayout使用起來比RelativeLayout更靈活,性能更出色。此外,ConstraintLayout可以按照比例約束控件位置和尺寸,能夠更好地適配屏幕大小不同的機型。

約束布局屬性主要可以分為:相對定位、邊距、居中和偏移、尺寸約束、鏈等。

1.相對定位約束

相對定位是控件對于另一個控件位置的約束,可以讓控件相對于其他控件或父控件進行布局,也可以設置控件相對于其他控件或父控件進行上下左右對齊。如圖1所示,被選中的TextView控件距離父控件上邊緣60dp,距離左邊的一個TextView右邊緣92dp。
在這里插入圖片描述
圖1 相對定位示例

圖1的布局對應的代碼如下,其中android:layout_marginStart=“92dp"和app:layout_constraintStart_toEndOf=”@+id/textView6"用于設置該控件的左側距離textView6控件的右側92dp。android:layout_marginTop="60dp"和app:layout_constraintTop_toTopOf="parent"用于設置該控件的上側距離父窗體的上側60dp。

<TextViewandroid:id="@+id/textView8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="92dp"app:layout_constraintStart_toEndOf="@+id/textView6"android:layout_marginTop="60dp"app:layout_constraintTop_toTopOf="parent"android:text="TextView" />

如圖2所示,被選中的控件分別與上方控件左對齊,與右邊的控件底對齊,同樣也確定了該控件的位置。一個控件在約束布局中要確定位置,至少要一個垂直方向的約束和一個水平方向的約束。在所有需要對齊的控件被選中的情況下,對齊也可以通過單擊Design視圖中的工具欄的對齊工具 來完成。
在這里插入圖片描述

圖2 控件對齊示例

圖2中被選中控件的布局約束代碼如下,

<TextViewandroid:id="@+id/textView8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="TextView"app:layout_constraintBottom_toBottomOf="@+id/textView9"app:layout_constraintStart_toStartOf="@+id/textView10" />

app:layout_constraintBottom_toBottomOf=“@+id/textView9"用于設置該控件與textView9控件底部對齊,app:layout_constraintStart_toStartOf=”@+id/textView10"用于設置該控件與textView10控件的左邊對齊。

2.居中和偏移約束

居中可以通過設置距離為0dp來實現。如果需要將控件水平居中顯示,可以將控件水平方向的兩個約束設置為0。如果需要將控件垂直居中顯示,可以將控件垂直方向的兩個約束設置為0。如圖3所示,偏移則可以通過Attributes Layout區滑動圖中的滑條來實現。

在這里插入圖片描述

圖3 居中偏移控制圖

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.6"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" />

上述代碼對應的Layout預覽圖如圖4所示。其中app:layout_constraintHorizontal_bias用于設置偏移比例,默認為0.5,即中間位置;圖中設置為0.6,即控件位于布局寬度60%的位置。
在這里插入圖片描述
圖4 居中偏移布局圖

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

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

相關文章

超詳細的 Linux 環境下 Anaconda 安裝與使用教程

超詳細的 Linux 環境下 Anaconda 安裝與使用教程 前言 在數據科學和機器學習領域&#xff0c;Anaconda 是一個非常受歡迎的發行版&#xff0c;提供了許多常用的包和工具。本文將詳細介紹如何在 Linux 系統上安裝和配置 Anaconda 環境&#xff0c;并展示如何高效地使用它。 一…

CentOS7下安裝Doris

Doris簡介 Apache Doris 是一款基于 MPP 架構的高性能、實時的分析型數據庫&#xff0c;以高效、簡單、統一的特點被人們所熟知&#xff0c;僅需亞秒級響應時間即可返回海量數據下的查詢結果&#xff0c;不僅可以支持高并發的點查詢場景&#xff0c;也能支持高吞吐的復雜分析場…

從0到1搭建個性化推送引擎:百數教學帶你掌握核心技術

百數低代碼的推送提醒功能允許用戶高度自定義提醒規則&#xff0c;支持多種提醒方式&#xff08;如釘釘、企業微信、微信、短信、語音、郵件等&#xff09;&#xff0c;以滿足不同場景下的需求。 通過預設字段和模板&#xff0c;用戶可以快速編輯提醒內容&#xff0c;減少重復…

BaseServlet的封裝

創建BaseServlet的必要性 如果不創建BaseServlet&#xff0c;現在我們只要實現一個功能&#xff0c;我們就需要創建一個servlet! 例如:用戶模塊(登錄&#xff0c;注冊&#xff0c;退出錄&#xff0c;激活&#xff0c;發送郵件等等功能) 也就是說&#xff0c;我們必須要創建一…

idea無法實力化id

解決&#xff1a;https://blog.csdn.net/qq_41264674/article/details/83409810?ops_request_misc&request_id&biz_id102&utm_termSerializable%E4%B8%8D%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E5%AE%9E%E5%8A%9B%E5%8C%96id&utm_mediumdistribute.pc_search_…

java-數據結構與算法-02-數據結構-03-遞歸

1. 概述 定義 計算機科學中&#xff0c;遞歸是一種解決計算問題的方法&#xff0c;其中解決方案取決于同一類問題的更小子集 In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances…

IT項目經理轉行大模型,項目經理的進來,你想知道的都在這里非常詳細

大模型&#xff08;如人工智能、機器學習和深度學習模型&#xff09;可以通過提供數據驅動的決策支持、自動化流程和預測分析來賦能IT項目經理。這些工具可以幫助項目經理更有效地管理項目&#xff0c;預測潛在的風險&#xff0c;并提高項目成功的可能性。以下是IT項目經理如何…

IPD流程學習筆記

一、前言 互聯網行業講究的是快速試錯&#xff0c;所以IPD流程的應用并不多&#xff0c;但是傳統企業數字化轉型中&#xff0c;怎么確保項目投入可以切合市場需求&#xff0c;有較好的ROI及落地性&#xff0c;輕量級的IPD還是很有必要了解下的&#xff0c;特別是重資產類的業務…

探討大數據在視頻匯聚平臺LntonCVS國標GB28181協議中的應用

隨著攝像頭和視頻監控系統的普及和數字化程度的提高&#xff0c;視頻監控系統產生的數據量急劇增加。大數據技術因其優秀的數據管理、分析和利用能力&#xff0c;成為提升視頻監控系統效能和價值的重要工具。 大數據技術可以將視頻監控數據與其他數據源進行融合分析&#xff0c…

libaom 編碼器實驗 AV1 標準 SVC 分層編碼

SVC編碼 視頻SVC編碼&#xff0c;即Scalable Video Coding&#xff08;可適性視訊編碼或可分級視頻編碼&#xff09;&#xff0c;是H.264/MPEG-4 AVC編碼的一種擴展&#xff0c;它提供了更大的編碼彈性&#xff0c;并且具有時間可適性&#xff08;Temporal Scalability&#x…

單向鏈表的概念和結構

文章目錄 1.鏈表的概念及結構2.單鏈表的實現 1.鏈表的概念及結構 概念&#xff1a;鏈表是一種物理存儲結構上非連續、非順序的存儲結構&#xff0c;數據元素的邏輯順序是通過鏈表 中的指針鏈接次序實現的 。 鏈表的結構跟火車車廂相似&#xff0c;淡季時車次的車廂會相應減少&…

【基礎算法總結】分治—歸并

分治—歸并 1.排序數組2.交易逆序對的總數3.計算右側小于當前元素的個數4.翻轉對 點贊&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;關注&#x1f496;&#x1f496; 你的支持是對我最大的鼓勵&#xff0c;我們一起努力吧!&#x1f603;&#x1f603; 1.排序數組 …

NFTScan | 07.01~07.07 NFT 市場熱點匯總

歡迎來到由 NFT 基礎設施 NFTScan 出品的 NFT 生態熱點事件每周匯總。 周期&#xff1a;2024.07.01~ 2024.07.07 NFT Hot News 01/ 數據&#xff1a;Mad Lads 地板價回升至 100 SOL 上方&#xff0c;24 小時漲幅為 13.65% 7 月 1 日&#xff0c;據數據顯示&#xff0c;Solana…

ARM架構以及程序運行解析

文章目錄 1. ARM架構 2. ARM處理器程序運行的過程 3. 示例 3. 基于ARM架構的STM32單片機 1. 運行模式 2. 寄存器組 3. STM32的基本結構 4. STM32的運行模式 4. 寄存器組詳解 1. 未備份寄存器 2. 備份寄存器 3. 程序計數器 4. 程序狀態寄存器 5. CPSR和SPSR寄存器…

【Unity】UGUI的基本介紹

Unity的UGUI&#xff08;Unity User Interface&#xff09;是Unity引擎內自帶的UI系統&#xff0c;官方稱之為UnityUI&#xff0c;是目前Unity商業游戲開發中使用最廣泛的UI系統開發解決方案。以下是關于Unity的UGUI的詳細介紹&#xff1a; 一、UGUI的特點 靈活性&#xff1a…

Trick : 10^x 以內最多的因子數

Trick : 1 0 x 10^x 10x 以內最多的因子數 1 0 5 10^5 105 以內具有最多的因子數的數是 83160&#xff0c;它有 128 個因子 ; 1 0 6 10^6 106 以內具有最多因子數的數是 720720&#xff0c;它有 240 個因子 ; 所以遇到需要枚舉因子的&#xff0c;預處理之后大膽枚舉就可以&…

Python 爬蟲 tiktok API接口獲取tiktok用戶關注列表

此接口可獲取tiktok用戶關注列表。若有需要&#xff0c;請點擊文末鏈接聯系我們。 詳細采集頁面如下https://www.tiktok.com/quanap_official 請求API http://api.xxxx.com/tt/user/following?user_id7252644648840381445&count10&offset0&tokentest 請求參數 返…

Impala寫Parquet文件

Impala Parquet相關代碼 https://github.com/cloudera/Impala/search?l=cpp&q=parquet&ref=cmdform 沒有可重用的庫接口,需要在代碼里去看,提取出來,直接使用源碼。 調用關系如下(自右向左調用): HdfsParquetTableWriter(HdfsTableWriter)<-HdfsTableSink<…

改進Transformer模型其實也不難

聲明&#xff1a;文章是從本人公眾號中復制而來&#xff0c;因此&#xff0c;想最新最快了解各類智能優化算法及其改進的朋友&#xff0c;可關注我的公眾號&#xff1a;強盛機器學習&#xff0c;不定期會有很多免費代碼分享~ 目錄 原理簡介 數據介紹 結果展示 完整代碼 之前…

列表(定義、引用、修改、切片和用途)

什么是列表 列表是 Python 中最常用的數據類型之一。它是一種有序、可變&#xff0c;異構的數據集合&#xff0c;可以存儲多個不同類型的元素。 列表的特點 列表是 Python 中的一種數據結構&#xff0c;具有以下特點&#xff1a; 有序性&#xff1a; 列表中的元素按照添加的…