當前位置:首頁 » 安卓系統 » android布局單位

android布局單位

發布時間: 2023-12-15 23:22:31

⑴ android的ui布局有哪些

布局(Layout)的概念是針對Activity的,Activity就是布滿整 個Android設備的窗口或者懸浮於其他窗口上的交互界面。在一個應用程序中通常由多個Activity構成,每個需要顯示的Activity都需要在AndroidManifest.xml文件之中聲明。

通常情況下,開發人員可以使用兩種方式來創建UI組件,一種方式是使用XML方式來配置UI組件的相關屬性,然後裝載這些UI組件,這也是最常用的方式。但是有些特殊情況下,需要動態生成UI組件,則需要使用第二種方式,完全使用java代碼來創建UI組件。

XML布局文件是Android系統中定義的Layout的常用方式,所有布局文件必須包含在res/layout目錄中,且必須符合Java的命名 規范。當在res/layout目錄下新增了布局文件之後,R.java文件會自動收錄該布局資源,Java代碼可通過setContentView方法 在Activity中顯示該Layout。

setContentView(R.layout.<資源名稱>);

在布局文件中可以指定UI組件的android:id屬性,該屬性的屬性值代表該組件的唯一標識。通過Activity.findViewById()訪問,並且findViewById()必須在setContentView載入xml文件之後使用,否則會拋出異常。

findViewById(R.id.)

Android應用的絕大部分UI組件都放在android.widget包及其子包、android.view包及其子包中,Android應用的 所有UI組件都繼承了View類。View類還有一個重要的子類:ViewGroup,ViewGroup類是所有布局管理器的父類。

ViewGroup容器控制其子組件的分布依賴於ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams兩個內部類。

ViewGroup.LayoutParams提供兩個XML屬性設定組件的大小。

android:layout_height:指定該子組件的基本高度;

android:layout_width:指定該子組件的基本寬度。

這兩個屬性有三個基本值,這兩個屬性有三個特定的值:

fill_parent:指定組件的高度、寬度與父容器組件的一樣。

match_parent:與fill_parent一樣,Android2.2開始推薦使用。

warp_content:內容包裹。

ViewGroup.MarginLayoutParams用於控制子組件周圍的頁邊距。

android:layout_marginBottom(下邊距);

android:layout_marginLeft(左邊距);

android:layout_marginRight(右邊距):

layout_marginTop(上邊距)

對於View的尺寸,android提供了三種單位供選擇使用:

px:像素。

dp:dpi,表示屏幕實際的像素。

sp:與scale無關的像素,與dp類似。

尺寸單位選擇的技巧:如果設置長度、高度等屬性時可以使用dp或sp,但是如果設置字體,需要使用px。如果使用dp或sp,系統會根據屏幕密度的變化進行轉換。

為了適應各種界面風格,Android提供了五種布局規范,利用這五種布局,基本上可以在設備上隨心所欲的擺放任何UI組件,這五種布局分別是:

FrameLayout(幀布局)。

LinearLayout(線性布局)

RelativeLayout(相對布局)。

TableLayout(表格布局)。

AbsoluteLayout(絕對布局)。

線性布局(LinearLayout)

LinearLayout是最常用的布局方式,在XML文件中使用標記。它會將容器里的UI組件一個一個挨著排列起來。但是LinearLayout不會換行,當UI組件超出屏幕之後,則不會被顯示出來。LinearLayout有兩個重要的XML屬性:androidgravity(對齊方 式);android:orientation(排列方式)。

android:orientation(排列方式),設定了LinearLayout中包含的UI組件的排列方式,有兩個選項vertical(豎向)、horizontal(橫向,默認值)

android:gravity(對齊方式),設定LinearLayout中包含UI組件的對齊方式,其選項很多,常用上(top)、下(bottom)、左(left)、右(right)。

⑵ Android的五大布局

1.RelativeLayout  相對布局

2. LinearLayout 線性布局

3. FrameLayout 幀布局

4.TableLayout 表格布局 (被GridView代替)

5.AbsoluteLayoutf 絕對布局(已經被谷歌廢棄,幾乎不會用到)

           相對布局RelativeLayout允許子元素指定它們相對於其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。

            特點:相對於其他空間的位置,和相對父元素的位置進行布局;

layout_centerHorizontal(相當於父節點是水平居中)

layout_centerVertical(相當於父節點是垂直居中)

layout_centerInParent(相當於父節點在正中間)

layout_above(在XX之上)

layout_below(在XX之下)

layout_toLeft(在XX的左邊)

layout_toRight(在XX的右邊)

layout_alignParentTop(和父節點的頂部對齊)

layout_alignParentBottom(和父節點的底部對齊)

layout_alignParentLeft(和父節點的左邊對齊)

layout_alignParentRight(和父節點的右邊對齊)

layout_alignTop(和XXX頂部對齊)

layout_alignBottom(和XXX底部對齊)

layout_alignLeft (和XXX左邊對齊)

layout_alignRight(和XXX右邊對齊)

線性布局LinearLayout是根據指定朝向orientation水平Horizontal或者垂直Vertical方向排列的布局,其最大的特點是可以給子控制項按照權重weight屬性分配空間.

常見案例:計算器

3. FrameLayout 幀布局

            通俗的講就是在屏幕上一層覆蓋著一層的控制項,在fragment中比較常用

<TextView

android:layout_width= "200px"

android:layout_height= "200px"

android:layout_gravity= "center"

android:background= "#00ff00"

android:gravity= "center" />

熱點內容
Qt用ftp傳文件 發布:2025-01-22 19:23:28 瀏覽:731
校園卡密碼是什麼 發布:2025-01-22 19:14:43 瀏覽:658
內存大小的存儲 發布:2025-01-22 18:58:17 瀏覽:393
tampermonkey腳本 發布:2025-01-22 18:53:17 瀏覽:117
windows7共享文件夾 發布:2025-01-22 18:53:17 瀏覽:479
如何調節安卓手機的內存 發布:2025-01-22 18:49:30 瀏覽:639
佳能相機存儲卡怎麼取消 發布:2025-01-22 18:40:59 瀏覽:569
天貓寶貝上傳 發布:2025-01-22 18:35:09 瀏覽:545
ipad如何登錄金鏟鏟安卓賬號 發布:2025-01-22 18:32:09 瀏覽:320
加密溝通 發布:2025-01-22 18:31:22 瀏覽:556