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

歡迎訪問 生活随笔!

生活随笔

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

Android

03 Android应用界面编程

發布時間:2024/8/24 Android 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 03 Android应用界面编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Android絕大部分UI組件都放在android.widget,android.view包及其子包,android應用中所以UI組件都繼承了View類,View代表一個空白的矩形區域;

android所有UI組件都建立在View和ViewGroup基礎之上的;View類是所有UI組件的基類,ViewGroup是一個抽象類,通常使用其子類來作為容器;

View 類

?

View類為所有可視化控件的基類,主要提供了控件和事件處理的方法,比如TextView,Button,CheckBox等;

?

View類常見屬性及對應方法說明:

Android:background

SetBackgroundResource(int)

設置背景

?

Android:clickable

SetClickable(boolean)

設置View是否響應單擊事件

?

Android:visibility

SetVisibiltiy(int)

控制View的可見性

?

Android:focusable

SetFocusable(boolean)

控制View是否可以獲取焦點

?

Android:id

SetId(int)

為View設置標識符,可以通過findViewById方法獲取Id

?

Android:longClickable

SetLongClickable(boolean)

設置View是否響應長單擊事件

?

Android:soundEffectEabled

setSoundEffectsEnable(boolean)

設置View觸發單擊等事件是否播放音效

?

Android:saveEnable

SetSaveEnabled(boolean)

View凍結時是否保存狀態

Android:nextFocusDown

SetNextFocusDownId(int)

定義向下獲取焦點的View

?

Android:nextFocusLeft

Android:nextFocusRight

Android:nextFocusUp

?

定義不同操作方向獲取焦點的View

?

任何繼承View的子類都擁有如上的屬性及方法;

?

ViewGroup類是View類的子類,但是可以充當其他控件的容器,ViewGroup的子控件既可以是普通的View,也可以是ViewGroup;

?

關于View和ViewGroup的關系

View是基類,ViewGroup是View的子類;

View代表用戶界面組件一塊可以繪制的空間塊;

每一個View在屏幕上占據一個長方形區域,在這個區域,view負責圖像繪制和事件處理;

View類是小控件widgets和ViewGroup的父類;ViewGroup又是Layout的基類;

?

線性布局

提供控件水平或豎直排列的模型;

Android:orientation

SetOrientation(int)設置線性布局的朝向;

Android:gravity

SetGrabity(int)設置線性布局內部元素的布局方式;

?

表格布局

TableLayout類以行和類的形式管理控件,每行為一個TableRow對象,也可以為View對象,當為View對象時,該View對象將跨越該行的所有類;

?

在表格布局中,一個列的寬度由該列中最寬的那個單元指定,而表格的寬度由父容器指定;

在TableLayout中,可以為列設置如下3種屬性;

Shrinkable 如果一個列被標志為Shrinkable,則該列的寬度可以進行收縮,以使表格能夠適應其父容器的大小;

Stretchable 如果一個列被標志位Stretchable,則該列的寬度可以進行拉伸,以 填滿表格中空閑的空間。

Collapsed,則該列會被隱藏;

?

TableLyout繼承LinearLayout類,TableLyout類特有的屬性和方法如下:

SetColumnCollapsed(int,boolean)

列號從0開始,設定指定列號的列為Collapsed

同樣,可以設置Shrinkable,Stretchable;

RelativeLayout

在相對布局中,子控件的位置是相對兄弟控件或父容器而決定的;

屬 性 名 稱

屬 性 說 明

android:layout_centerHorizontal

當前控件位于父控件的橫向中間位置

android:layout_centerVertical

當前控件位于父控件的縱向中間位置

android:layout_centerInParent

當前控件位于父控件的中央位置

android:layout_alignParentBottom

當前控件底端與父控件底端對齊

android:layout_alignParentLeft

當前控件左側與父控件左側對齊

android:layout_alignParentRight

當前控件右側與父控件右側對齊

android:layout_alignParentTop

當前控件頂端與父控件頂端對齊

android:layout_alignWithParentIfMissing

參照控件不存在或不可見時參照父控件

?接下來再來看屬性值為其他控件id的屬性,如表3-6所示。

表3-6? 相對布局中取值為其他控件id的屬性及說明

屬 性 名 稱

屬 性 說 明

android:layout_toRightOf

使當前控件位于給出id控件的右側

android:layout_toLeftOf

使當前控件位于給出id控件的左側

android:layout_above

使當前控件位于給出id控件的上方

android:layout_below

使當前控件位于給出id控件的下方

android:layout_alignTop

使當前控件的上邊界與給出id控件的上邊界對齊

android:layout_alignBottom

使當前控件的下邊界與給出id控件的下邊界對齊

android:layout_alignLeft

使當前控件的左邊界與給出id控件的左邊界對齊

android:layout_alignRight

使當前控件的右邊界與給出id控件的右邊界對齊

?

最后要介紹的是屬性值以像素為單位的屬性及說明,如表3-7所示。

表3-7? 相對布局中取值為像素的屬性及說明

?

屬 性 名 稱

屬 性 說 明

android:layout_marginLeft

當前控件左側的留白

android:layout_marginRight

當前控件右側的留白

android:layout_marginTop

當前控件上方的留白

android:layout_marginBottom

當前控件下方的留白

?

FrameLayout類

幀布局

FrameLayout幀布局在屏幕上開辟了一塊區域,在這塊區域中可以添加多個子控件,但是所有的子控件都被對齊到屏幕的左上角,幀布局的大小由子控件中尺寸最大的那個子控件來決定,如果子控件一樣大,同一時刻只能看到最上面的子控件;

?

FrameLayout繼承自ViewGroup,FrameLayout所特有的屬性和方法如下:

Android:foreground

SetForeground(Drawable)

設置繪制所有子控件之上的內容

Android:foregroundGravity

SetForegroundGraviety(int)

設置繪制所有子控件之上內容的gravity屬性

?

在FrameLayout中,子控件是通過棧來繪制的,所以后添加的子控件會被繪制在上層;

?

AbsoluteLayout類

所謂絕對布局,是指屏幕中所有控件擺放的控件位置由坐標來指定;

?

轉載于:https://www.cnblogs.com/thoughtInShare/p/4264459.html

總結

以上是生活随笔為你收集整理的03 Android应用界面编程的全部內容,希望文章能夠幫你解決所遇到的問題。

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