android開發(fā)課件:頁面布局和常用控件_第1頁
android開發(fā)課件:頁面布局和常用控件_第2頁
android開發(fā)課件:頁面布局和常用控件_第3頁
android開發(fā)課件:頁面布局和常用控件_第4頁
android開發(fā)課件:頁面布局和常用控件_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

頁面布局和常用控件-1概述頁面布局公共屬性頁面布局之線性布局頁面布局之相對布局常用控件介紹控件之動態(tài)添加及修改概述一個Android應用的用戶界面是由View和ViewGroup構建的,他們有很多的種類,并且都是View的子類。View類的一些子類提供了諸如文本輸入框和按鈕之類的UI對象的完整實現。ViewGroup是View的一個擴展,它可以容納多個字View。ViewGroup類同樣可以被擴展用作layout(布局管理器)ViewGroup類是布局(layout)和視圖容器(Viewcontainer)的基類,此類也定義了ViewGroup.LayoutParams類,它作為布局參數的基類,此類告訴父視圖其中的子視圖想如何顯示。我們要介紹的View的布局方式的類,都是直接或間接繼承自ViewGroup類。所有的布局方式都可以歸類為ViewGroup的5個類別,即ViewGroup的5個直接子類。其它的一些布局都擴展自這5個類布局(Layout)最常用的方法是xml布局文件,xml文件中的每個元素都是View或ViewGroup對象,或者是它們的子類。Xml元素的名稱與它體現的Java類相對應,所以一個TextView元素將在UI中生成一個TextView對象Android中的布局有多種,這里只介紹最常用的兩種:線性布局和相對布局。也可以在主程序中由代碼動態(tài)生成布局,并由代碼修改屬性。ViewGroup.LayoutParams類,布局屬性的定義概述頁面布局公共屬性頁面布局之線性布局頁面布局之相對布局常用控件介紹控件之動態(tài)添加及修改頁面布局-公共屬性layout_width寬度。取值有:fill_parent:寬度和父元素相同,wrap_content:寬度隨本身的實際大小所調整,或者指定px值來設置寬。layout_height高度,取值同上。background設置背景圖。padding邊距。可以具體設置paddingBottom,paddingLeft,paddingRight,paddingTop來設定不同的px值。Marginleft/right以margin_開頭的,多用于設置邊距;id該object的id號。@+id/id1代表添加新的id名為id1,@id/id1代表引用id1的控件。layout_weight重要度。默認為0(最高),數值越大,優(yōu)先級越低。要讓layout_weight生效,需要父層或父父層的相應layout_width或者layout_height="fill_parent",否則wrap_content會壓縮到最小足夠空間!layout_gravityContainer組件的對齊方式,組件在layout里面的對齊方式。取值可以是:center_vertical等(特別是當文字和圖一起時,該屬性很重要)gravity文字在組件里的對齊方式,例如設置button里面的文字在button中居中顯示。注意,大多數屬性是可以調用對應的函數來動態(tài)改變狀態(tài)的Layout_width/height控件的寬和高,有兩個屬性:fill_parent:強制性使視圖或者控件充滿父控件;wrap_content:自適應大小,視圖擴展以便顯示其全部內容paddingLeft/Right/Bottom/TopAndroid:padding*,表示控件內部的內容(比如文本、圖像等)距離控件上下左右的尺寸。與該屬性非常相似的屬性是android:layout_margin*,該屬性表示控件距離父控件上下左右的尺寸。Android的Margin和Padding跟Html的是一樣的。如下圖所示:黃色部分為Padding,灰色部分為Margin。Padding*與layout_margin*Gravity和Layout_gravityandroid:gravity:設置的是控件自身上面的內容對齊方式。android:layout_gravity:設置控件本身相對于父控件的對齊方式。對齊方式的取值為:top,left,right,bottom,center_vertical,center_horizontal,center等。舉例:layout_grivaty=“center_vertical|center_horizontal”;表示組件顯示是水平居中且垂直居中也就是組件位于屏幕的正中央。android:gravity="center_vertical|center_horizontal"表示組件中的內容顯示位置是正中央。例子標題使用的屬性:android:gravity="center_vertical|center_horizontal"button1使用的屬性:android:paddingRight="40dip"button2使用的屬性是:android:layout_marginLeft="40dp"概述頁面布局公共屬性頁面布局之線性布局頁面布局之相對布局常用控件介紹控件之動態(tài)添加及修改頁面布局-線性布局該布局有個重要的屬性android:orientation,取值可以為horizontal或者vertical,分別表示水平布局(一行多列)和垂直布局(多行一列)。LinearLayout屬性中android:orientation為設置線性布局當其="vertical"時,為垂直線性布局,當其="horizontal"時,為水平線性布局,不管是水平還是垂直線性布局一行(列)只能放置一個控件。Orientation屬性Layout_weight屬性在LinearLayout,寬度/高度都是按著組件的次序逐個占用的!所以當某個組件設置“fill_parent”,在沒有設置Layout_weight的情況下,該組件會占用余下的空間,那么在它后面的組件就會顯示不出來。所有的視圖都有一個layout_weight值,默認為零,意思是需要顯示多大的視圖就占據多大的屏幕空間。正確使用weight!請參考:/article/5552ef47361ffe518ffbc928.html我們如果在某個方向上使用了weight,那么我們必須在對應的方向上將width/height設置為0dp.它告訴了我們設置為0dp是因為使用weight,系統(tǒng)是采用了另外一套計算占用空間大小的算法的。Weight使用總結要正確使用weight,不要再去糾結android:layout_width=“fill_parent“或者android:layout_width="wrap_content"兩種情況下該如何設置weight.因為這樣設置根本就是錯誤的用法.正確的用法是:先設置android:layout_width=“0dp”或者android:layout_height=“0dp”,然后再去調配權重而此時的weight也非常好理解:weight就是比重!比例!嵌套式線性布局可以使用嵌套式的線性布局,生成各種更加復雜的界面。布局文件布局嵌套例子在各種布局中,可以通過互相嵌套,創(chuàng)建各種各樣的界面。概述頁面布局公共屬性頁面布局之線性布局頁面布局之相對布局常用控件介紹控件之動態(tài)添加及修改頁面布局-相對布局RelativeLayout按照各子元素之間的位置關系完成布局。在此布局中的子元素里有位置相關的屬性。例如layout_below,layout_above等。子元素就通過這些屬性和各自的ID配合指定位置關系。注意在指定位置關系時,引用的ID必須在引用之前,先被定義,否則將出現異常。取值為boolean的屬性值取值為控件id的屬性值例子1例子2控件的定義與引用在相對布局中,涉及控件的定義與引用,因此這里做個介紹??丶梢酝ㄟ^android:id屬性進行控件變量名定義,定義方式如下:android:id=“@+id/變量名”上面紅色部分是固定的,變量名可自己定義。在XML文件引用控件時,可通過如下方式:@id/變量名

概述頁面布局公共屬性頁面布局之線性布局頁面布局之相對布局常用控件介紹控件之動態(tài)添加及修改常用控件介紹TextViewEditTextButton常用控件-TextView詳細的TextView使用可以參看:

/3361352/657435/

常用屬性包括text,textColor,textSize,textStyle(bold,italic,normal等),backgroundtextScaleX屬性:設置文字間距。Passward屬性:設置true時,顯示”…”shadowColor、shadowRadius:設置文本的陰影效果drawableLeft/Right/Top/Bottom:在左/右/上/下邊放的圖像或者圖標ellipsize:設置當文字過長時,該控件

該如何顯示。有如下值設置:start—–省略號顯示在開頭;end——省略號顯示在結尾;middle—-省略號顯示在中間;marquee”

——以跑馬燈

的方式顯示(動畫

橫向移動)注意:以上屬性大多比較通用,屬于公共屬性,也可以用在其它控件上。實例常用控件-EditText最重要屬性inputType,表示輸入框中接收什么類型的輸入。取值非常多,如下圖所示。text:最常用的屬性,用于設置顯示的文本。hint,textColorHint:設置Text為空時顯示的文字提示信息,以及提示信息的顏色。digits:設置允許輸入哪些字符。如“1234567890.+-*/%\n()”scrollHorizontally:設置文本超出TextView的寬度的情況下,是否出現橫向滾動條。常用函數常用函數:getText和setText獲得EditText中的內容tv.getText().toString()findViewById和setOnClickListener函數findViewById函數用于在代碼中獲得控件的id,從而利用id對控件進行操作或者交互。比如,要獲得id為btnOK的按鈕,可以用如下代碼:mybutton=(Button)findViewById(R.id.btnOK);注意,btnOK要事先在布局xml文件中定義。setOnClickListener函數用于處理按鈕的單擊響應,使用方法非常簡單。接上例,首先獲得mybutton控件,然后調用該函數即可:Mybutton.setOnClickListener();常用控件-ButtonButton的最重要屬性/方法:單擊事件響應。概述頁面布局公共屬性頁面布局之線性布局頁面布局之相對布局常用控件介紹控件之動態(tài)添加及修改頁面布局與屬性設置的方式有兩種方式可以對android程序的頁面,以及頁面上的控件進行布局,并設置布局相關的屬性。除了上面介紹的XMl文件方式外,還可以通過代碼動態(tài)的添加控件或者設置控件的屬性。這種方式更加靈活。例如:點擊某個按鈕以后,出現另外一個按鈕;輸入某行文字以后,刪除一副圖像;選中某個選項以后,出現另外一個選項。動態(tài)添加控件可以通過代碼動態(tài)地往Activity上添加

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論