1. 程式人生 > >Android studio約束佈局 ConstraintLayout

Android studio約束佈局 ConstraintLayout

ConstraintLayout(約束佈局), 是2016年Google I/O最新推出的Android佈局, 目前還在完善階段. 從推出的力度而言, 應該會成為主流佈局樣式. 在最新版本的Android Studio中, ConstraintLayout已經成為預設佈局.

概念

ConstraintLayout約束佈局的含義: 根據佈局中的其他元素或檢視, 確定View在螢幕中的位置. 包含三個重要資訊, 根據其他檢視設定位置, 根據父容器設定位置, 根據基準線設定位置.

layout_constraint[本源]_[目標]="[目標ID]"

例如:

app:layout_constraintBottom_toBottomOf="@+id/constraintLayout"

約束當前View的底部目標View的底部, 目標View是constraintLayout. 表明, 把當前View放置到constraintLayout(父容器)的底部, 並且底部一致.

為了演示多個示例, 使用複用的Activity頁面. 根據引數設定標題和佈局Id.

public class LayoutDisplayActivity extends AppCompatActivity { private static final String TAG = LayoutDisplayActivity.class.getSimpleName();
static final String EXTRA_LAYOUT_ID = TAG + ".layoutId"// 佈局ID @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle(getIntent().getStringExtra(Intent.EXTRA_TITLE)); final int layoutId = getIntent().getIntExtra(EXTRA_LAYOUT_ID, 
0); setContentView(layoutId); // 設定頁面佈局, 複用佈局 } }


主頁面使用ListView展示多個項, 每項都是不同的佈局. 點選項傳送不同的Intent, 填充所要顯示的頁面.

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView list = (ListView) findViewById(R.id.activity_main); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, LIST_ITEMS); list.setAdapter(adapter); list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { // 複用顯示佈局 Intent intent = new Intent(MainActivity.this, LayoutDisplayActivity.class); intent.putExtra(Intent.EXTRA_TITLE, LIST_ITEMS[i]); // 標題 intent.putExtra(LayoutDisplayActivity.EXTRA_LAYOUT_ID, LAYOUT_IDS[i]); // 佈局Id startActivity(intent); } }); } }


基礎

ConstraintLayout佈局最基本的使用方式, 就是直接指定位置. 取消按鈕的底部對齊constraintLayout(父容器)的底部, 左側對齊父容器的左側. 下一步按鈕的底部對齊父容器的底部, 而左側對齊取消按鈕的右側. 並且每個按鈕邊緣有Margin空隙.

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android" "="" style="text-decoration: none; border-radius: 0px; border: 0px; bottom: auto; float: none; height: auto; left: auto; margin: 0px; outline: 0px; overflow: visible; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto; box-sizing: content-box; font-size: 14px; min-height: inherit; color: rgb(92, 230, 56) !important; background: 0px 50%;">http://schemas.android.com/apk/res/android" xmlns:app="<a href="http://schemas.android.com/apk/res-auto" "="" style="text-decoration: none; border-radius: 0px; border: 0px; bottom: auto; float: none; height: auto; left: auto; margin: 0px; outline: 0px; overflow: visible; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto; box-sizing: content-box; font-size: 14px; min-height: inherit; color: rgb(92, 230, 56) !important; background: 0px 50%;">http://schemas.android.com/apk/res-auto" android:id

相關推薦

Android studio約束佈局 ConstraintLayout

ConstraintLayout(約束佈局), 是2016年Google I/O最新推出的Android佈局, 目前還在完善階段. 從推出的力度而言, 應該會成為主流佈局樣式. 在最新版本的Android Studio中, ConstraintLayout已經成為預設

Android約束佈局ConstraintLayout示例

ConstraintLayout 約束佈局由 2016 年 Google I/O 推出。扁平式的佈局方式,無任何巢狀,減少佈局的層級,優化渲染效能。從支援力度而言,將成為主流佈局樣式,完全代替其他佈局。 佈局示例: <?xml version="1.0" encoding="utf-8

帶你瞭解Android約束佈局ConstraintLayout

ConstraintLayout是Android新推出的一個佈局,其效能更好,連官方的hello world都用ConstraintLayout來寫了。所以極力推薦使用ConstraintLayout來編寫佈局。 本文主要介紹一下如何使用程式碼來編寫Const

Android開發筆記(一百四十九)約束佈局ConstraintLayout

約束佈局ConstraintLayout是Android Studio 2.2推出的新佈局,並從Android Studio 2.3開始成為預設佈局檔案的根佈局,由此可見Android官方對其寄予厚望,那麼約束佈局究竟具備哪些激動人心的特性呢?傳統的佈局如線性佈局Linear

Android Studio——頁面佈局ConstraintLayout

前言在2016年的Google I/O大會上 , Google 釋出了Android Studio 2.2預覽版,同時也釋出了Android 新的佈局方案 ConstraintLayout , 但是最近的一年也沒有大規模的使用。2017年Google釋出了 Android S

Android約束佈局ConstraintLayout動態設定Id失效問題解決辦法

      當你需要在程式碼中動態給約束佈局新增約束,而不能在xml檔案中寫約束的時候,你需要用到ConstraintSet這個類,谷歌給我們寫的很清楚。https://developer.android.google.cn/reference/android/support

Android Studio 相對佈局/網格佈局

1. 相對佈局(RelativeLayout) 1.1 相對佈局視窗內子元件的位置總是相對兄弟元件、父容器來決定的,因此叫相對佈局 1.2 如果A元件位置是由B元件的位置決定的,Android要求先定B元件,再定義A元件       如果A元件位置是由

Android studio layout佈局1

什麼是佈局 就是把介面中的控制元件按照某種規律擺放到指定的位置 佈局的二種實現 程式碼 xml配置檔案:res/layout目錄下 注:也可以同時使用xml和程式碼 佈局的基本屬性 設定背景顏色 android:background="@color/

Android studio layout佈局2

相對佈局(重點) 1.1 相對佈局視窗內子元件的位置總是相對兄弟元件、父容器來決定的,因此叫相對佈局 1.2 如果A元件位置是由B元件的位置決定的,Android要求先定B元件,再定義A元件 如果A元件位置是由B元件的位置決定的,Android要求先定B元件

Android studio 相對佈局常見屬性

一、相對佈局RelativeLayout 1. 相對佈局(重點):相對佈局是通過相對定位的方式讓控制元件出現在佈局任意位置;  在相對佈局中如果不指定控制元件擺放的位置,那麼控制元件都會被預設放在RelativeLayout的左上角。因此要先指定第一個控制元件的位置,

利用約束佈局ConstraintLayout實現全適配九宮格

android五花八門品類眾多尺寸各異的螢幕,一直是產品經驗和開發人員的心中難以解開的疙瘩,畫素,DP,英寸各種的不方便。面對競爭激烈的APP市場,介面平庸了不出容易出彩,介面特殊了又會帶來適配方面的難題。如何解決開發人員心中的痛,也是谷歌安卓團隊繞不開的坑。借鑑網頁開發的優點,早期已經有很多高手把

約束佈局ConstraintLayout加快佈局速度

Android Studio2.2更新佈局設計器,同時,引人了約束佈局ConstraintLayout。 簡單來說,可以把它看做是相對佈局的升級版本,但是區別與相對佈局更加強調約束。何為約束,即控制元件之間的關係。 它能讓你的佈局更加扁平化,一般來說一個介面

Android Studio XML佈局檔案設定程式碼自動補齊快捷鍵

Android Studio XML佈局檔案中你會發現無法進行程式碼快捷鍵提示了,經過查詢發現: File -> Settings -> keymap  然後在收入框裡寫 Basic 我的是更改為Alt+反斜槓 然後右擊Basic的快捷鍵remove再新增你想

Android Studio 表格佈局實現登入介面

在xml檔案中新增如下程式碼: <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tableLayout1"

如何Android studio佈局XML時預覽介面彈出的Rendering Problems?

如何Android studio 的佈局XML時預覽介面彈出的Rendering Problems? 問題圖預覽:   點選“Preview”預覽選單欄的“AppTheme”,從彈出的選單框中選

android studio 介面佈局之表格佈局

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.c

約束佈局ConstraintLayout的使用(二)

ConstraintLayout可用的約束 (constraint-layout:1.0.2) 相對定位 邊距(Margins) 中心定位 可見性行為(View.GONE) 鏈(Chains) 虛擬助手物件(Guideline) 相對定位 相對定位是C

Android studio 頁面佈局無法顯示問題

1. Rendering Problems Failed to load the LayoutLib: com/android/layoutlib/bridge/Bridge : Unsupporte

Android Studio佈局檢視神器-UIAutomatorViewer

用處 如果我們檢視一個app,想知道它的佈局結構,那麼 就需要這個UI Automator Viewer,這個還Android SDK自帶的,路徑:SDK\tool\suiautomatorviewe

Android-0.Android Studio佈局ConstraintLayout及designer簡介

Design and blueprint:用於選擇在編輯器中檢視佈局的方式。Design 檢視顯示佈局的彩色預覽,而 Blueprint 檢視僅顯示每個檢視的輪廓。或者,您可以並排檢視 Design + Blueprint 。 Screen orientation:用於在橫屏和豎屏方向之間旋轉裝置。 D