Android第二節(view簡介以及Android佈局管理器),維維複習

佈局管理器是指定View之間的排列方式的。view就是UI控件,下節課我會整理到,這裏咱們先講佈局,大布局在我看來就至關於一個房間,讓view顯示,就是說物品在房間的擺放規則。ide


1、View的簡介佈局

View ,通常都有TextView,EditText,Button,RadioButton,CheckBox,ImageView,ImageButton。google

ViewGroup,通常有LinearLayout,RelativeLayout,FrameLayout,Spinner,ListView,GridView。spa

每個View在佈局中都有對應的標籤,好比說TextView,它的標籤就是<TextView>orm


佈局與Activity的關係:佈局只能在Activity或Dialog中加載和顯示,就如MainActivity中onCreate()方法中的:setContentView(R.Layout.佈局名),這個是加載佈局。it


在Activity中怎麼訪問和修改View控件的屬性:先要在佈局中找到,相對應的控件的ID,好比TextView的Id是tv,那麼定義一個全局變量private TextView textView;在onCreate()方法中:textView=findViewById(R.id.tv);tv.setXXX()來進行相關屬性的設置。io


通常經常使用的屬性是:id,layout_width,layout_height,background。class

通常常有的與屬性對應的方法:setText(String),setTextSize(float),setTextColor(int),setSingleLine(boolean),setLines(int),setMaxLines(int),setAutoLinkMask(int)。變量

其中setAutoLinkMask() List

textView.setAutoLinkMask(Linkify.WEB_URLS);// 當文本內容中包含超連接格式的文本時,自動轉換成超連接樣式,點擊會自動跳轉到指定的網頁
textView.setAutoLinkMask(Linkify.PHONE_NUMBERS);//自動轉手機號碼點擊它可進入系統撥號界面
textView.setAutoLinkMask(Linkify.EMAIL_ADDRESSES);//自動轉郵件地址點擊它可發送郵件(要提早設置好本身的電子郵件)
textView.setAutoLinkMask(Linkify.MAP_ADDRESSES);//自動轉街道地址點擊它可查看位置(前提已安裝了google地圖)
textView.setAutoLinkMask(Linkify.ALL);//包括上面4種狀況


2、佈局管理器

佈局管理器一共有5種,分別是:

線性佈局:LinearLayout.

相對佈局:RelativeLayout.

表格佈局:TableLayout.

絕對佈局:AbsoluteLayout(已廢棄).

幀佈局:FrameLayout

一、LinearLayout

(1)在線性佈局中注意的屬性是:orientation="horizontal|vertical",超過一個view的時候沒有這個屬性會報錯。

(2)第二個須要注意的是weight的使用:

控件的width/height的屬性必須保持一致;

width/height="0dp"  權重值越大,所佔空間越大(正比例);

width/height="match_parent" 權重值越大,所佔空間越小 (反比例);

width/height="wrap_content"  權重值越大,所佔空間越大(正比例);

width/height不爲「0dp「時,系統會優先考慮權重值小的組件,暫時不會放入代碼,請你們見諒。

(3)gravity是控件內容及子控件的對齊方式,具體的屬性按快捷鍵都會出來,這裏就不一一介紹了。

(4)layout_gravity是控件在父佈局中的對齊方式。


二、RelativeLayout相對佈局

這個屬性分爲兩大部分,一個是相對兄弟控件的,一個是相對父控件的。

(1)相對兄弟控件:

放置位置:

toLeftOf在指定的兄弟控件的左邊位置

toRightOf在指定的兄弟控件的右邊位置

below在指定的兄弟控件下邊位置

above在指定的兄弟控件上邊位置

對齊方式:

alignLeft與指定的兄弟控件左對齊

alignRight與指定的兄弟控件右對齊

alignTop與指定的兄弟控件頂部對齊

alignBottom與指定的兄弟控件底部對齊

alignBaseLine與指定的兄弟控件內容對齊

(2)相對父控件:

位置對齊:

alignParentLeft放置在父控件的左邊(默認是這種放置)

alignParentRight放置在父控件的右邊

alignParentTop放置在父控件的頂部

alignParentBottom放置在父控件的底部

居中對齊:

centerInParent放置在父控件的居中位置

centerHorizontal放置在父控件的水平居中位置

centerVertical放置在父控件的垂直居中位置


三、FrameLayout幀佈局

layout_gravity 設置子控件位置的

foreground=「#4f00」設置繪製在全部子控件之上的drawable

foregroundGravity設置繪製在全部子控件之上的drawable的gravity屬性

measureAllChildren計算全部子控件的大小


關於佈局這塊,基本上經常使用的就是線性佈局和相對佈局,你們把這兩部分必定要掌握清晰。歡迎轉載

相關文章
相關標籤/搜索