如何在Xamarin.Android中使用約束布局

2020-12-25 離開了編程我會死

什麼是約束布局?

約束有助於減少視圖的層次結構,並提高視圖的布局性能和靈活性。它有助於根據不同視圖的位置,大小,尺寸和對齊方式進行設計。約束布局具有不同的屬性,可在布局中設置視圖。您可以輕鬆設置布局的任何位置的「視圖」,而不是「相對布局」中的視圖。它支持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 —輸出

現在,重建並運行您的應用程式。您應該得到如下所示的結果。

相關焦點

  • Android ConstraintLayout約束布局可視化工具使用~
    ConstraintLayout 布局,今天我們簡單看看這個布局的使用。ContraintLayout 是一個 Google 發布的一個新布局( 翻譯成中文 「約束布局「 )它的使用方式有兩種在 AS 2.3 以上版本都可以使用滑鼠拖動使用代碼書寫控制項之間的約束
  • 帶你了解 Android 約束布局 ConstraintLayout
    ConstraintLayout是Android新推出的一個布局,其性能更好,連官方的hello world都用ConstraintLayout來寫了。所以極力推薦使用ConstraintLayout來編寫布局。本文主要介紹一下如何使用代碼來編寫ConstraintLayout布局。好了,開始我們的徵程。
  • Xamarin 學習筆記 - 配置環境(Windows & iOS)
    (https://developer.xamarin.com/)在這裡你可以沒有限制的獲取所需的知識。當我們開始學習使用Xamarin,我們可以注意到有兩種方式可以進行開發,其中第一種是使用Xamarin。
  • Android基礎 - 如何做魯棒性更高的布局
    布局開發是APP前端開發中最重要的一環,而目前我們所做的大部分APP開發離不開一種模型,即盒子模型,字面意思理解,就是一個盒子套一個盒子,外邊的盒子位置的變動裡邊的小盒子也會跟著變,反映到布局上,即父布局和子布局,但是注意了,在Android提供的基礎組件中,有些組件可以構成所謂的「盒子」,而有些組件則不行,他們只能作為放在盒子內部拿來使用的存在。
  • Xamarin.Forms Android真機使用ChatKit快速搭建即時聊天界面(更新依賴AndroidX)
    Xamarin項目Android端安裝安卓nuget包Install-Package XamarinLibrary.Xamarin.Android.ChatKit -Version 0.3.32.參考原作者Android原生源碼用法對照調用C#相應函數;3.在Xamarin方面將ChatKit相關控制項使用
  • android 中常用的五種布局 - CSDN
    特點:後添加進去的控制項將從左上角覆蓋先放進去的控制項適用場景:在開發中常做容器使用,用於動態添加布局對象。四、AbsoluteLayout:這種布局方式也比較簡單,但是在屏幕旋轉時,往往會出問題,而且多個元素的時候,計算比較麻煩。
  • android絕對布局
    絕對布局由AbsoluteLayout代表。絕對布局就像java AWT編程中的空布局,就是Android不提供任何布局控制而是由開發人員自己通過X坐標、Y坐標來控制組件的位置。當使用AbsoluteLayout作為布局容器時,布局容器不再管理子組件的位置、大小---這些都需要開發人員自己控制。
  • Android ConstraintLayout使用指南
    ConstraintLayout最低兼容Android 2.3;目前Android Studio 2.3默認使用ConstraintLayout作為布局文件的根布局;想要使用ConstraintLayout,需在項目的build.gradle添加com.android.support.constraint:constraint-layout:XXX版本號依賴
  • 如何使用參數約束編輯器進行PCB布局布線設計
    如何使用參數約束編輯器進行PCB布局布線設計 佚名 發表於 2020-04-08 15:14:31 如今PCB設計考慮的因素越來越複雜,如時鐘、串擾、阻抗、檢測、製造工藝等等
  • android水平布局和垂直布局 - CSDN
    一、線性布局(LinearLayout)線性布局:線性布局是我們在開發中最常見的布局方式之一,線性布局可以分為水平線性布局和垂直線性布局這兩種布局方式線性布局的屬性(決定布局中元素的位置和布局):android:layout_gravity ( 是本元素相對於父元素的對齊方式 )android:gravity
  • android 布局 覆蓋 - CSDN
    項目中listview中嵌套checkbox,將父控制項設置為android:descendantFocusability="blocksDescendants",這樣設置為的是:會覆蓋子類控制項而直接獲得焦點,即點擊listview的item區域即可選中checkbox。
  • android 復用 布局優化專題及常見問題 - CSDN
    在布局優化中,Androi的官方提到了這三種布局<include />、<merge />、<ViewStub />,並介紹了這三種布局各有的優勢,下面也是簡單說一下怎麼使用.
  • dotnet 在 UOS 國產系統上使用 Xamarin Forms 創建 xaml 界面的 GTK 應用
    儘管和 WinForms 一樣也能寫出特別強大的應用,但是為了提升一點開發效率,咱開始使用 xaml 神器寫界面。本文告訴大家如何在 UOS 國產系統上,通過 Xamarin.Forms 使用 XAML 寫界面邏輯,構建出 GTK 應用本文將使用特別底層的方法告訴大家如何一步步創建,而不是告訴大家如何在 IDE 上進行快速的創建。
  • android布局詳解專題及常見問題 - CSDN
    <include android:id=」@+id/cell3 layout=」@layout/workspace_screen」 /></LinearLayout>  上面的代碼中的<include>標籤還使用了一個android:id屬性,實際上,該屬性指定的是workspace_screen.xml布局文件中的根節點的android
  • Android開發:如何在MotionLayout中使用動態數據
    可以使用MotionLayout創建數據的動態動畫嗎?這是任何你在編譯時不知道的數據,比如用戶輸入。對!當然。可以使用MotionLayout代碼API在代碼中動態創建MotionScene。在本文中,我們將使用開發一個動態直方圖,該直方圖使用MotionLayout設置其更改的動畫。
  • 這些都是Android中不規則形狀View的布局實現!
    使用效果展示完了,那麼如何使用呢?使用太麻煩也是白搭。那麼接下來就講下如何使用。當前實現了三個不規則圖形的布局,分別是如果有其他布局要求請自定義,參見自定義ClipPathLayout那麼父布局要如何知道其子View應該是何形狀呢?
  • android 動態創建布局文件 - CSDN
    在應用程式開發時有時不同的狀態需要對應不同的布局文件。其實比較簡單,以橫屏與豎屏變換為例切換不同的布局文件。首先,創建一個項目,在Manifest文件中為MainActivity添加configChanges屬性如下:<span style="white-space:pre"> </span><activity android:name=".MyActivity" android:label="@string/app_name"
  • 如何使用am命令啟動Android應用
    如何用命令自動播放音樂、自動打開瀏覽器、自動打開任意一個應用呢?這就要用到am命令。本文將詳細介紹使用am命令啟動應用的四種方法,相信會對你的測試開發工作有所幫助。一、使用am命令啟動一般的Android App。
  • android通過代碼實現的多布局專題及常見問題 - CSDN
    Seekbar常規使用方式通過xml布局方式實現,但是由於我們的是sdk,不能有xml布局,所以SeekBar使用純代碼實現。但是這樣就遇到了很多問題。 首先是SeekBar設置setProgressDrawable問題。
  • 必讀 | 深入理解布局約束
    深入理解布局約束我們會經常聽到一些開發者在學習 Flutter 時的疑惑:為什麼我設置了 width:100,但是看上去卻不是 100 像素寬呢。(注意,本文中的「像素」均指的是邏輯像素)通常你會回答,將這個 widget 放進 Center 中,對吧?別這麼幹。