日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

详解Android布局中gravity与layout_gravity属性

發布時間:2024/3/12 Android 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解Android布局中gravity与layout_gravity属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在android布局中,我們經常會用到“重心”-gravity這個屬性。但是gravity有不同的類型:

  • gravity
  • layout_gravity
  • 相對布局中的layout_center等屬性

今天我們就來具體說說。

1、gravity

gravity屬性是對控件自身內容對自己的限定,拿布局文件test.xml舉例來說:

此時在TextView中并沒有對gravity屬性進行操作,文字內容如上圖。接下來,我們繼續設置TextView的gravity屬性,觀察效果:

2、layout_gravity屬性

與gravity屬性不同的是,layout_gravity屬性是用來設置該View相對與父View的位置,具體情況就個人判斷有下面這4種情況:

另外還有一種在父布局橫或縱設置wrap_content時,如果在該方向設置layout_gravity屬性。我直接在一個布局中,把這5種情況列出來,下面是我的布局文件代碼:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.primexiao.myapplication.MainActivity"> //第4種情況 <LinearLayout android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="#00f0f0"android:orientation="vertical"><TextView android:id="@+id/tv1"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_centerInParent="true"android:text="我是測試內容"android:background="#000000"android:layout_gravity="center_horizontal"android:textColor="#ffffff"android:layout_width="100dp"android:layout_height="100dp" /> </LinearLayout> //第1種情況<LinearLayout android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="#00ff00"android:orientation="vertical"><TextView android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_centerInParent="true"android:text="我是測試內容"android:background="#000000"android:textColor="#ffffff"android:layout_gravity="center_vertical"android:layout_width="100dp"android:layout_height="100dp" /></LinearLayout>//第3種情況<LinearLayout android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="#00f0f0"android:orientation="horizontal"><TextView android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_centerInParent="true"android:text="我是測試內容"android:background="#000000"android:layout_gravity="center_vertical"android:textColor="#ffffff"android:layout_width="100dp"android:layout_height="100dp" /></LinearLayout>//第2種情況<LinearLayout android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="#ff0000"android:orientation="horizontal"><TextView android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_centerInParent="true"android:text="我是測試內容"android:background="#000000"android:layout_gravity="center_horizontal"android:textColor="#ffffff"android:layout_width="100dp"android:layout_height="100dp" /></LinearLayout>//第5種情況<LinearLayout android:layout_width="wrap_content"android:layout_height="0dp"android:layout_weight="1"android:background="#fff000"android:orientation="horizontal"><TextView android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_centerInParent="true"android:text="我是測試內容"android:background="#000000"android:layout_gravity="center_horizontal"android:textColor="#ffffff"android:layout_width="100dp"android:layout_height="100dp" /></LinearLayout> </LinearLayout>

效果圖如下:

我們可以看到第1和第2種情況下,layout_gravity這一屬性根本沒有起到作用,個人看法是子控件如果選擇橫或縱居中,這種屬性聲明是不能和父布局的排列方式相沖的,這個坑我先替你們踩著:D。

3、相對布局中的layout_center屬性

之前遇到過這么一個問題,在RelativeLayout中設置layount_gravity屬性,發現并不能實現居中效果,并且layout_gravity也是手動輸入,期間并沒有智能提示。后來發現相對布局中,有layout_centerX這么一個屬性,讓我們來試一下:

待續。

如果覺得這篇文章對你有幫助的話,歡迎頂+評論:D

總結

以上是生活随笔為你收集整理的详解Android布局中gravity与layout_gravity属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。