什麼是約束布局?
約束有助於減少視圖的層次結構,並提高視圖的布局性能和靈活性。它有助於根據不同視圖的位置,大小,尺寸和對齊方式進行設計。約束布局具有不同的屬性,可在布局中設置視圖。您可以輕鬆設置布局的任何位置的「視圖」,而不是「相對布局」中的視圖。它支持Android和iOS平臺。約束布局位於ViewGroup下。
約束布局的優點
平面視圖層次結構,無嵌套視圖。更好的性能和高響應能力。對齊屏幕的位置,大小和對齊方式。支持Android(API 9)和iOS。一些重要的約束布局屬性和屬性
這些屬性僅採用id或parent。從目標視圖的任何一側對齊視圖。
layout_constraintLeft_toLeftOf-將所需視圖的左側對齊到目標視圖的左側。layout_constraintLeft_toRightOf-將所需視圖的左側對齊到目標視圖的右側。layout_constraintRight_toLeftOf-所需視圖的align-right在目標視圖的左側。layout_constraintRight_toRightOf-所需視圖的align-right在目標視圖的右邊。layout_constraintTop_toTopOf-將所需視圖的頂部對齊到目標視圖的頂部。layout_constraintTop_toBottomOf-將所需視圖的頂部與目標視圖的底部對齊。layout_constraintBottom_toTopOf-將所需視圖的底部對齊到目標視圖的頂部。layout_constraintBottom_toBottomOf-將所需視圖的底部與目標視圖的底部對齊。layout_constraintBaseline_toBaselineOf-對齊所需視圖的基線為目標視圖的基線。layout_constraintStart_toEndOf-對齊所需視圖的起點是目標視圖的終點。layout_constraintStart_toStartOf-對齊所需視圖的起點是目標視圖的起點。layout_constraintEnd_toStartOf-對齊所需視圖的末尾是目標視圖的開始。layout_constraintEnd_toEndOf-將所需視圖的末端與目標視圖的末端對齊。
邊距屬性-這些屬性僅採用正值。
layout_marginStart-從所需視圖的開始側開始的邊距。layout_marginEnd-從所需視圖的末端開始的邊距。layout_marginLeft-從所需視圖的左側開始的邊距。layout_marginTop-從所需視圖的頂部開始的邊距。layout_marginRight-從所需視圖的右邊距。layout_marginBottom-從所需視圖的底部開始的邊距。讓我們看看如何使用約束布局在Xamarin.Android中設計或對齊視圖。
第1步-創建一個新項目
您可以通過在選擇應用程式下轉到文件>>新建>> Android,來創建Xamarin Android應用程式。在常規部分中,選擇Android應用。然後,單擊下一步。在新窗口中,輸入並選擇您的應用程式名稱,主題和兼容性。然後,單擊創建項目。
第2步-添加約束布局插件
創建項目後,將以下NuGet包添加到您的項目中
Xamarin.Android.Support.Constraint.LayoutMaterial Design為此,右鍵單擊軟體包,然後選擇添加軟體包。將會出現一個新對話框。在右上角搜索「 Xamarin.Android.Support.Constraint.Layout」,然後單擊「 添加軟體包」按鈕。
第3步-設計說明
現在,設計「註冊」頁面。為此,請轉到解決方案資源管理器>>資源>>布局>>雙擊以打開content_main.xml。首先,我們需要將布局的根設置為約束布局,並聲明應用程式名稱空間。
現在,開始設計。將圖像按鈕設置在頁面的左上角,下面的「約束」屬性用於基於父視圖設置圖像按鈕。該視圖由圖像按鈕的右側和父級的中心設置。圖像的top,end和start屬性是基於父視圖設置的,另一個屬性是基於另一個視圖ID的。
第4步-登錄頁面設計
現在,讓我們設計登錄頁面。為此,請轉到解決方案資源管理器>>資源>>布局。然後,雙擊以打開login_activity.xml,代碼如下:
步驟5 —註冊頁面設計
現在,我們為「註冊」頁面創建一個名為的背景色grandientcolor_rose.xml。通過右鍵單擊可繪製文件夾並選擇添加新文件>>左欄,選擇Android >> next來添加新的XML頁面。然後,選擇XML文件並輸入grandientcolor_rose.xml。
步驟6-MainActivity.cs代碼
接下來,打開MainActivity.cs(登錄活動)並添加以下代碼以驗證用戶輸入。當您單擊登錄時,它將驗證並檢查用戶是否可用。如果憑據正確,則轉到主頁。
步驟7 — SignupActivity.cs代碼
為註冊頁面添加另一個活動。為此,轉到解決方案資源管理器>>資源>>活動,然後添加一個名為的新活動signup_activity.cs。完整的原始碼在下面給出,輸入的數據將被驗證並存儲在Intent中。
步驟8 —輸出
現在,重建並運行您的應用程式。您應該得到如下所示的結果。