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中執行應用程式,請開啟您的專案中的一個活動檔案,然後單擊執行 播放圖示  工具欄中的圖示。選擇您的移動裝置作為選項,然後檢查您的移動裝置,它將顯示您的預設螢幕。

keys

在上面的程式碼中,我們將textview的gravity設定為center,因此它位於父檢視的中心,在edittext中,我們將layout_gravity設定為right,因此它位於父檢視的右側。

點選這裡下載專案程式碼

更新於:2020年6月26日

1K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告