Android Studio學習筆記
- 一、布局管理
-
- 1、線性布局(LinearLayout )
-
- (1)LinearLayout的主要屬性
- 2、幀布局(FrameLayout)
-
- (1)FrameLayout的主要屬性
-
- 1.android:layout_gravity
- 2.android:visibility
- 持續更新
一、布局管理
1、線性布局(LinearLayout )
1.主要以水準或垂直排列來顯示界面中的控件。
(1)當控件水準排列時,顯示順序依次為從左到右。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPn1ENJR0TyEkeNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1IjM1QjNwUTM4ATOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
(2)當控件垂直排列時,顯示順序依次為從上到下。
(3)線性布局中,每行或每列中隻允許有一個子視圖或控件。
(1)LinearLayout的主要屬性
屬性 | 概述 |
---|---|
android:gravity | 設定控件内部的顯示設定 |
android:orientation | 設定控件内部的排列方法。horizontal(預設值)表示水準排列/vertical表示垂直排列 |
android:layout_weight | 設定内部控件在LinearLayout中所占的權重 |
關于權重的解釋:
現在分别設定兩個控件Button1,Button2,并且設定兩個控件的權重(layout_weight)均為“1”。
代碼如下:
<Button
android:id="@+id/button"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button1" />
<Button
android:id="@+id/button"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button2" />
顯示效果:兩個Button均分高度距離。(垂直排列為例,水準同類)
現在我将Button1的權重更改為"3",其他不變。
代碼如下:
<Button
android:id="@+id/button"
android:layout_weight="3"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button1" />
<Button
android:id="@+id/button"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"
顯示效果:Button1占據了高度的3/4
結論:
所謂權重即控件在視圖中所占的比重。
2、幀布局(FrameLayout)
幀布局是一種特殊的布局,它以層疊的方式顯示布局中的多個控件。
(1)FrameLayout的主要屬性
1.android:layout_gravity
此屬性控制控件在FrameLayout中的位置。
其屬性可以設定為:
屬性值 | 概述 |
---|---|
top | 控件位于布局頂端 |
bottom | 控件位于布局底端 |
left | 控件位于布局左側 |
right | 控件位于布局右側 |
center | 控件位于布局中心 |
center_vertical | 控件位于垂直方向上的中心位置 |
center_horizontal | 控件位于水準方向上的中心位置 |
以上屬性均以一個Button控件為例:
android:layout_gravity="top"
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button14"
android:layout_gravity="top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</FrameLayout>
android:layout_gravity="center"
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button14"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</FrameLayout>
android:layout_gravity="bottom
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button14"
android:layout_gravity="bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</FrameLayout>
android:layout_gravity=“left”
......
android:layout_gravity="left"
......
android:layout_gravity=“right”
......
android:layout_gravity="right"
......
android:layout_gravity=“center”
......
android:layout_gravity="center"
......
android:layout_gravity=“center_vertical”
......
android:layout_gravity="center_vertical"
......
android:layout_gravity=“center_horizontal”
......
android:layout_gravity="center_horizontal"
......
此外,我們對比android:layout_gravity和android:gravity兩者之間的差別:
android:layout_gravity | android:gravity |
---|---|
是對控件本身來說的 | 是相對于包含該控件的父控件來說的 |
用來設定控件本身的内容應該顯示在控件的什麼位置 | 設定該控件在父控件的什麼位置 |
預設值是左側 |
下面示例是對于android:gravity的操作:
android:gravity=“center”
......
<Button
android:id="@+id/button14"
android:layout_gravity="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
......
android:gravity=“right”
......
android:gravity="right"
......
android:gravity=“left”
......
android:gravity="left"
......
結論:BUTTON在按鈕控件中移動。
2.android:visibility
屬性值 | 概述 |
---|---|
visiable | 可見,顯示到頁面 |
invisiable | 不可見,但是依然占用位 |
gone | 隐藏,不可見并且不占用位置 |