Android基礎-5

FrameLayout沒有位置概念。好處在於,運行效率高。

LinearLayout,子元素一個個接一個排布。水平排布和垂直排布。

RelativeLayOut,相對佈局,子元素相對於其他子元素排布。

TableLayOut,是水平方向和垂直方向的LinearLayOut的混合。

使用可視化編輯工具不具有很好的屏幕適配性,編寫複雜的頁面時候,使用可視化的編輯工具也難以勝任。

1TextView:用於在界面上顯示一段文本信息。

Android:layout_width,_height用於指定空間的寬度和高度。安卓中所有的控件都有這兩個屬性。可選有match_parent,fill_parent和wrap_content.其中前兩者意義相同,官方更加推薦match_parent,match_parent表示當前空間的大小和父佈局的大小一樣,也就是父佈局來控制當前控件的大小。Wrap_parent表示當前控件的大小剛好包含裏面的內容,由空間的內容決定控件的大小。也可以對於控件的高寬指定固定的大小,但是可能在不同手機的適配出現問題。

Android:gravity用來指定文字的對齊方式。指定“center”,效果相當於”center_vertical|center_horizontal”,表示文字在垂直和水平方向都居中對齊。

Android:textSize,android:textColor用於指定文字的大小和顏色。

2Button:按鈕。

3EditText:允許用戶在控件中編輯內容,並可以在程序中對這些內容進行處理。發短信發微博。一些附加的字段設置:提示性文字,當輸入的文字多的時候,如果設置的是wrap_content,它總能包含很多內容,無限拉長,設置最大的行,當輸入的內容超過兩行,文筆自動上滾。

4ImageView:用於在界面展示圖片的控件。

5ProgressBar:用於在界面上顯示一個進度條。

所有的安卓的組件都有一個設置可見的屬性。Android:visibility,可選的值有visible,invisible,gone.visible表示控件可見,invisible表示控件不可見,但是還是佔據原來的位置和大小,可以理解爲控件變爲透明狀態。Gone不僅不可見也不佔據任何屏幕空間。我們也可以用代碼來控制控件的可見性,使用setVisibility方法,可以傳入View.VISIBLE,View.INVISIBLE和View.GONE三個值。

6AlterDialog可以在當前頁面彈出一個對話框,屏蔽與其他控件進行交互的能力。使用alterDialog一般是用於提示非常重要的內容和警告信息。比如在刪除前彈出一個確認的按鈕。

7ProgressDialog可以在界面中跳出一個對話框,屏蔽與其他控件的交互能力,不同的是progressdialog在對話框中顯示一個進度條。

佈局:

一個豐富的頁面總是由很多的控件組成,佈局讓組件有條不紊的放置在界面上。佈局是一種可以放置很多控件的容器。它可以按照一定的規律調整內部控件的位置。佈局的內容除了可以放置佈局外還可以放置控件。多層佈局的嵌套。

LinearLayout線性佈局:把所有的控件在線性方向上依次排列。通過android:orientation,如果屬性爲vertical爲垂直方向排布,如果是horizontal就是水平方向排布。

RelativeLayout相對佈局:通過相對定位的方式讓控件出現在佈局的任何位置。可以相對於父佈局進行定位,也可以相對於控件定位。

FrameLayout所有的控件全部放在左上角。

TableLayout以表格的方式來排列控件。合併單元格。

創建自定義控件:

所有的控件都是直接或者間接的繼承與於view,所有的佈局都是直接或者間接繼承viewGroup。View是安卓中最基本的ui組件,可以在屏幕中繪製一塊矩形區域並且相應矩形區域的事件。我們使用的各種組件實際上就是在view的基礎上添加各自的功能。Viewgroup是特殊的view,可以包含很多viewGroup,view,用於放置控件和佈局的容器。

如果系統自帶的控件不能滿足需求的,我們可以通過上面的繼承結構,創建自己的控件。

ListView當程序中有大量數據顯示的時候需要使用到ListView,允許用戶通過手指上下滑動的形式將屏幕外的數據拖動到屏幕中,也可以把屏幕中的數據拖動出去。

單位和尺寸:

Px像素,屏幕中的可以顯示的最小的元素單元。

Pt磅數,一磅等於72分之一英寸,用pt表示字體的單位。

用以上的單位,容易出現的問題是,在不同分辨率的屏幕上顯示的效果完全不同。

Dp,dip,密度無關像素,在不同的密度屏幕下顯示保持一樣。

Sp可伸縮像素,解決文字大小適配問題。

安卓中的密度:屏幕每英寸所包含的像素數。Dpi爲單位。密度越高顯示效果就越精細。如果手機屏幕寬2英寸長3英寸,分辨率320*480,那麼160dpi。

安卓規定,在160dpi上,1dp=1px.在320上,1dp=2x。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章