![Android應用的界面編程_第1頁](http://file4.renrendoc.com/view10/M02/3C/06/wKhkGWWjal6AZeHcAABzA_UeGq8204.jpg)
![Android應用的界面編程_第2頁](http://file4.renrendoc.com/view10/M02/3C/06/wKhkGWWjal6AZeHcAABzA_UeGq82042.jpg)
![Android應用的界面編程_第3頁](http://file4.renrendoc.com/view10/M02/3C/06/wKhkGWWjal6AZeHcAABzA_UeGq82043.jpg)
![Android應用的界面編程_第4頁](http://file4.renrendoc.com/view10/M02/3C/06/wKhkGWWjal6AZeHcAABzA_UeGq82044.jpg)
![Android應用的界面編程_第5頁](http://file4.renrendoc.com/view10/M02/3C/06/wKhkGWWjal6AZeHcAABzA_UeGq82045.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第2章
Android應用的界面編程安裝Eclipse+adt本卷須知1,瘋狂android講義光盤源文件,權限去掉只讀。2,虛擬機AVD,API版本17。3,虛擬機屏幕分辨率,400*800以內(nèi)適宜,內(nèi)存512M以下。虛擬機第一次啟動非常慢(>5分鐘)!4,環(huán)境變量:續(xù)接不是修改PATH;在cmd下執(zhí)行javac和setPATH,以檢測是否成功。5,系統(tǒng)自建appcompat_v7不要刪除6,新工程,SDK版本不低于14。2.1
界面編程與視圖(View)組件
視圖組件與容器組件
使用XML布局文件控制UI界面
在Java代碼中控制UI界面
使用XML布局文件和Java代碼混合控制UI界面
視圖組件與容器組件TextView類,普通組件。ViewGroup類,容器組件,可以包含其他組件。繼承關系
使用XML布局文件控制UI界面使用XML布局文件控制UI界面:例0/面板添加TextView(1)在Android應用的res/layout目錄下編寫XML布局文件,使用以下Java代碼顯示XML文件中布局的內(nèi)容。setContentView(R.layout.main);(2)在Java文件中,通過每個組件的android:id屬性訪問,使用下面語句訪問XML文件中定義的組件。findViewById(R.id.***);缺點:靜態(tài)無變化,不推薦這種方法
在JAVA代碼控制UI界面JAVA代碼控制界面的3個步驟,例2.1/codeview(1)創(chuàng)立布局管理器。LinearLayoutlayout=newLinearLayout(this);(2)創(chuàng)立具體的組件,可以是TextView、ImageView、EditText和Button等,并且設置組件的布局和各種屬性。Buttonbn=newButton(this);(3)將創(chuàng)立的具體組件添加到布局管理器中。layout.addView(bn);缺點:代碼臃腫,不推薦這種方法
使用XML布局文件和Java代碼混合控制UI界面XML控制界面,JAVA控制行為XML布局文件的優(yōu)勢控制變化小、行為比較固定的組件Java代碼的優(yōu)勢控制變化較多、行為控制比較復雜的組件例2.1/MixView2.2
第1組UI組件:布局管理器
線性布局
表格布局
幀布局
相對布局
網(wǎng)格布局
絕對布局2.2.1
線性布局
例2.2/LinerLayout每一行或每一列,只能放一個組件,不會換行。組件排列到窗體邊緣,多余的組件不會顯示。XML布局文件中語法:<LinearLayout屬性列表></LinearLayout>以行、列的形式來管理放入其中的UI組件。表格布局使用<TableLayout>標記定義每個<TableRow>標記,表示增加一行。在<TableRow>標記中,添加一個組件,就增加一列。列屬性:可被設置為隱藏,伸展,收縮等。
表格布局組件/列組件/列組件/列組件/列組件/列組件/列<TableRow><TableRow><TableRow><TableLayout>XML布局文件中語法:<TableLayoutxmlns:android="://schemas.android/apk/res/android"屬性列表><TableRow屬性列表>需要添加的UI組件</TableRow> ……</TableLayout>XML屬性描述android:collapseColumns設置需要被隱藏的列的列序號android:shrinkColumns設置允許被收縮的列的列序號android:stretchColumns設置允許被拉伸的列的列序號2.2.2
表格布局例2.2/TableLayout
相對布局按照組件之間的相對位置來進行布局。如某組件在另一個組件的左邊、右邊、上方或下方等。XML布局文件中語法:<RelativeLayout屬性列表></RelativeLayout>XML屬性描述android:gravity布局管理器中各組件的對齊方式android:ignoreGravity指定哪個組件不受gravity屬性的影響RelativeLayout的常用XML屬性。XML屬性描述android:layout_centerHorizontal位于布局管理器水平居中的位置android:layout_alignRight位于哪個組件的右邊界對齊android:layout_above位于哪個組件的上方android:layout_toRightOf位于哪個組件的右側(cè)
相對布局例2.2/RelativeLayoutTest作業(yè)2使用任意布局管理器,繪制這個界面提交工程文件夾壓縮后命名為學號_姓名.rar~~~~~~~~~~~分割線~~~~~~~~~~~2.3
第2組UI組件:TextView及其子類
文本框(TextView)與編輯框(EditText)
EditText的功能與用法
按鈕(Button)組件的功能和用法
單項選擇按鈕(RadioButton)復選框(CheckBox)
TextView的功能和用法
例2.3/TextViewTestTextView功能:用于顯示文本,不能編輯。繼承關系:是EditText和Button類的父類。Xml中的語法
<TextView
屬性列表
> </TextView>重要屬性(表2.13)android:text android:passwordandroid:gravity android:autoLinkandroid:textsize
EditText的功能與用法
例2.3/InputUIEditText功能:可編輯的文本框。繼承關系:是TextView類的子類。Xml中的語法
<EditText
屬性列表
> </EditText>重要屬性(表2.13)android:background背景android:hint提示文字android:inputeType輸入數(shù)字number
按鈕(Button)功能和用法例2.3/ButtonTest例2.1/CodeView-P45功能:監(jiān)聽用戶點擊動作,觸發(fā)onClick事件。XML語法
<Button
屬性列表 > </Button>重要屬性android:background背景圖片作業(yè)3在例2.3/InputUI根底上修改,下面增加一個TextView運行程序:用戶名EditText輸入姓名名學號單擊按鈕后下面的TextView輸出剛輸入的內(nèi)容
單項選擇按鈕(RadioButton)與復選框(CheckBox)的功能與用法1.單項選擇按鈕RadioButton,例2.3\CheckButtonTest是Button子類,RadioButton與RadioGroup一起用。<RadioGroup android:orientation="horizontal"> <!--添加多個RadioButton組件--><RadioButtonandroid:text="顯示文本"android:id="@+id/ID號"android:checked="true|false“></RadioButton><RadioButton…….</RadioButton></RadioGroup>2.復選按鈕CheckBox,例2.3\CheckButtonTest在XML布局文件中添加復選按鈕的根本格式如下:<CheckBox android:text="顯示文本" android:id="@+id/ID號" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
單項選擇按鈕(RadioButton)與復選框(CheckBox)的功能與用法作業(yè)4在2.3/CheckButton例子根底上修改點擊男,女單項選擇框時輸出的內(nèi)容〞您的性別+紅+藍+綠色〞~~~~~~~~~~~分割線~~~~~~~~~~~ImageView作用顯示圖像將要顯示的圖片放置在res/drawable目錄中XML代碼格式<ImageViewandroid:src=ImageView所顯示的Drawable對象的ID。android:tint=〞#rgb〞,〞#argb〞,〞#rrggbb〞,〞#aarrggbb〞表示的顏色值。屬性列表></ImageView>2.4
ImageView及其子類XML屬性描述android:scaleTypefitCenter:保持縱橫比縮放圖片,直到該圖片能完全顯示在ImageView中。centerCrop:保持縱橫比縮放圖片,完全覆蓋ImageView,只要圖片最短邊顯示出來。fitXY:對圖片橫、縱向獨立縮放,圖片的縱橫比可能會改變。fitCenter效果(默認)centerCrop效果fitXY效果例2.4/ImageViewTest2.5
AdapterView及子類
列表視圖(ListView)和ListActivity
Adapter接口及實現(xiàn)類
列表視圖(ListView)和ListActivity列表視圖包含:顯示布局文件和數(shù)據(jù)源。
列表視圖(ListView)和ListActivity垂直列表的兩種顯示方式1.使用ListView組件例2.5\SimpleListViewTestXML語法格式:<ListView
屬性列表></ListView>2.讓Activity繼承ListActivity
(不常用)
例2.5\ListActivityTest程序的窗口僅顯示一個列表。繼承了ListActivity的類,無須調(diào)用setContentView()方法,直接為其設置適配器。
Adapter接口及實現(xiàn)類Adapter接口作用:在ListView組件和數(shù)據(jù)源之間架起一個橋梁,通過Adapter接口就可以實現(xiàn)將數(shù)據(jù)源中的數(shù)據(jù)顯示到ListView控件中。Adapter的實現(xiàn)類:1、ArrayAdapter,簡單,只能顯示文本2、SimpleAdapter,強大,可以顯示圖片,文本3、BaseAdapter,擴展功能,數(shù)量任意定制
Adapter接口及實現(xiàn)類1、簡單的ArrayAdapter,需要3個參數(shù):第一個參數(shù):context對象,this。第二個參數(shù):指定一個界面布局的ID,外觀樣式。第三個參數(shù):是一個String[]類型的參數(shù),提供數(shù)據(jù)。例2.5\ArrayAdapterTest
Adapter接口及實現(xiàn)類2、強大的SimpleAdapter,需要5個參數(shù):第一個參數(shù):context對象,this;第二個參數(shù):List<?extendsMap<String,?>>集合對象;第三個參數(shù):指定一個界面布局的ID,外觀文件。第四個參數(shù):是一個String[]類型的參數(shù),對應于參數(shù)二,顯示哪些列表項。第五個參數(shù):是一個int[]類型的參數(shù),第四個參數(shù)的外觀。例2.5\SimpleAdapterTest
Adapter接口及實現(xiàn)類3、BaseAdapter不在XML中控制外觀在Java代碼中控制外觀列表數(shù)量任意定制需要重寫4個方法。例2.5\BaseAdapterTest2.6
第5組UI組件:ProgressBar及其子類
進度條(ProgressBar)功能與用法
拖動條(SeekBar)的功能和用法
星級評分條(RatingBar)的功能和用法
進度條(ProgressBar)功能顯示某個耗時操作完成的百分比。XML文件語法<ProgressBar
屬性列表></ProgressBar>
進度條(ProgressBar)
例2.6/ProgressBarTestJava方法描述setProgress(intprogress)設置進度百分比incrementProgressBy(intdiff)進度變化,正數(shù)增加,負數(shù)減少XML屬性描述android:max用于設置進度條的最大值android:progress用于指定進度條的已完成的進度值android:progressDrawable用于設置進度條的軌道的繪制形式2.7
第6組UI組件:
ViewAnimator及其子類
ViewSwitcher的功能與用法
圖像切換器(ImageSwitcher)的功能與用法
文本切換器(TextSwitcher)的功能與用法
ViewFlipper的功能與用法功能:實現(xiàn)類似于Windows操作系統(tǒng)下的“Windows照片查看器〞中的上一張、下一張切換圖片的功能。步驟:設定一個ViewFactory。通過makeView()方法來創(chuàng)立用于顯示圖片的ImageView,指定樣式。用setImageResource()方法指定顯示的圖片。例2.7/ImageSwitcherTest
圖像切換器(ImageSwitcher)作業(yè)5參考2.7/ImageSwitcherTest添加“下一張〞,“上一張〞按鈕,切換圖片~~~~~~~~~~~分割線~~~~~~~~~~~單位:px、dp和sp的區(qū)別px:即像素,屏幕上一個物理的像素點。不建議使用,因為同樣100px的圖片,在不同上顯示的實際大小可能不同pt:1pt=1/72英寸=0.035厘米in:英寸,1英寸=2.54厘米參考:單位:px、dp和sp的區(qū)別dpi:像素密度〔像素/英寸,DotsPerInch〕舉例屏幕尺寸:1.5x2英寸,分辨率:240x320像素〔橫向〕240/1.5=160dpi〔縱向〕320/2=160dpi應用舉例視網(wǎng)膜屏幕:分辨率超過人眼識別極限的高分辨率屏幕,由蘋果公司在2023年在iPhone4發(fā)布會上首次推出,像素密度到達326像素/英寸。打印機精度的參數(shù)之一。dp:Android單位dp=px/(dpi/160)=1/160英寸不同dpi的,顯示相同dp圖片,大小差不多。單位:px、dp和sp的區(qū)別手機寬度(英寸)1英寸1英寸1英寸2英寸分辨率px120px160px240px240px像素密度dpi120dpi160dpi240dpi圖片尺寸80dp80dp80dp80dp80dp圖片像素px=dp*(dpi/160)60px80px120px圖片實際尺寸0.5英寸0.5英寸0.5英寸1英寸=2.54厘米120dpi60px0.5英寸單位:px、dp和sp的區(qū)別Sp:和dp很類似Android系統(tǒng)允許用戶自定義文字尺寸,如:小、正常、大、超大等,類似在windows里調(diào)整字體尺寸——窗口大小不變,只有文字大小改變。文字尺寸正常時:1sp=1dp=0.00625英寸文字尺寸大或超大時:1sp>1dp=0.00625英寸建議文字的尺寸用sp單位,textSize="16sp“非文字的尺寸使用dp單位,layout_width="60dp“2.8
各種雜項組件
使用Toast顯示提示信息框
選項卡(TabHost)的功能和用法
Notification的功能與用法
使用Toast顯示提示信息框
例2.8/ToastTest顯示一個消息提示框不會獲得焦點,自動消失簡單用法Toast.makeText(MainActivity.this,“提示信息文字",Toast.LENGTH_SHORT).show();復雜布局newToast(this)向布局管理器layout添加控件Toast.setView(layout)
日期、時間選擇器的功能和用法功能:選擇日期和時間實現(xiàn)步驟為了在程序中獲取用戶選擇的日期、時間,需要為DatePicker組件和TimePicker組件添加事件監(jiān)聽器。DatePicker的監(jiān)聽器是OnDateChangedListenerTimePicker的監(jiān)聽器是OnTimeChangedListener
選項卡(TabHost)的功能和用法例2.8/TabHostTestTabHost功能多標簽頁,減少窗體個數(shù),界面利用率高。組成TabHost、TabWidget和FrameLayout3個組件。實現(xiàn)步驟在布局文件中添加TabHost、TabWidget和FrameLayout組件。編寫各標簽頁的XML布局文件。在Activity中,為TabHost對象添加標簽頁。
Notification的功能與用法
例2.8/NotificationTest功能:在狀態(tài)欄顯示通知通過NotificationManager效勞發(fā)送通知Notification對象Notification對象可以包括:文字,圖片,聲音,震動,燈光,啟動界面作業(yè)6參考2.8/NotificationTest通知欄顯示title:姓名,學號內(nèi)容:您的成績是98分2.9
對話框
使用AlertDialog創(chuàng)立對話框
對話框風格的窗口
使用PopupWindow
使用DatePickerDialog、TimePickerDialog
使用ProgressDialog創(chuàng)立進度對話框
使用AlertDialog創(chuàng)立對話框JAVA方法描述setTitle(CharSequencetitle)標題setIcon(Drawableicon)圖標setMessage(message)文本內(nèi)容setNegativeB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新《體育法》知識考試題庫200題(含答案)
- 2025年云南省職教高考《職測》必刷考試練習題庫(含答案)
- 《密碼法》知識競賽考試題庫150題(含答案)
- 《保教知識與能力》(幼兒園)歷年教師資格考試真題題庫(含答案解析)
- 2025年江西洪州職業(yè)學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 高清視頻會議系統(tǒng)集成合同
- 仔豬購銷合同協(xié)議書范本年
- 混凝土購銷合同協(xié)議書
- 承包經(jīng)營合同合同
- 承租人租房簡單合同范本
- 大動脈炎患者的血清代謝組學及口腔微生物群特征的初步研究
- 小學科學項目化學習活動作業(yè)方案案例設計《設計制作動力小車項目化學習》
- 茶與健康 第二講 茶成分課件
- 復工條件驗收報告
- 小學生作文稿紙A4打印稿
- 2023理論學習、理論武裝方面存在問題及原因剖析18條
- 運動技能學習與控制課件第三章運動能力與個體差異
- (部編)五年級語文下冊小練筆(21篇)
- 《企業(yè)人力資源管理師考試用書考試通過必備一級》
- 2023年高考英語考前必練-非謂語動詞(含近三年真題及解析)
- 高??萍汲晒D(zhuǎn)化政策與案例分享
評論
0/150
提交評論