Android中的gravity和layout_gravity有什麼區別?
Android同時支援gravity和layout_gravity。Gravity調整檢視位置。使用gravity,我們可以對檢視進行如下所示的對齊。
<TextView android:id = "@+id/button" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:gravity = "center" android:text = "Click here to hide" />
在上面的程式碼中,TextView將設定在父佈局的中間。
Gravity屬性
Center - 將檢視放在父佈局的中心。
Right - 將檢視放在父佈局的右側。
Left - 將檢視放在父佈局的左側。
End - 將檢視放在父佈局的末尾位置。
Start - 將檢視放在父佈局的起始位置。
Top - 將檢視放在父佈局的頂部位置。
Bottom - 將檢視放在父佈局的底部位置。
Center vertical - 將檢視放在父佈局的垂直中心。但這需要子檢視的高度為MATCH_PARENT。
Center Horizontal - 將檢視放在父佈局的水平中心。但這需要子檢視的寬度為MATCH_PARENT。
- layout_gravity - layout_gravity與gravity類似,但它將根據父佈局的角位置檢視,如下所示。
<EditText android:id = "@+id/editext" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_gravity = "right"> </EditText>
在上面的例子中,我們將layout_gravity設定為right。它將放在父檢視的右側。
此示例演示了gravity和layout_gravity之間的區別。
**步驟1** - 在Android Studio中建立一個新專案,轉到檔案⇒新建專案,並填寫所有必需的詳細資訊以建立新專案。
**步驟2** - 將以下程式碼新增到res/layout/activity_main.xml。
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" android:id = "@+id/rootview" android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" tools:context = ".MainActivity"> <EditText android:id = "@+id/editext" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_gravity = "right"></EditText> <TextView android:id = "@+id/button" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:gravity = "center" android:text = "Click here to hide" /> </LinearLayout>
讓我們嘗試執行您的應用程式。我假設您已將您的實際Android移動裝置連線到您的計算機。要在Android Studio中執行應用程式,請開啟您的專案中的一個活動檔案,然後單擊執行 工具欄中的圖示。選擇您的移動裝置作為選項,然後檢查您的移動裝置,它將顯示您的預設螢幕。
在上面的程式碼中,我們將textview的gravity設定為center,因此它位於父檢視的中心,在edittext中,我們將layout_gravity設定為right,因此它位於父檢視的右側。
點選這裡下載專案程式碼