Android移動(dòng)開(kāi)發(fā)基礎(chǔ)教程-第2章-Android界面開(kāi)發(fā)課件_第1頁(yè)
Android移動(dòng)開(kāi)發(fā)基礎(chǔ)教程-第2章-Android界面開(kāi)發(fā)課件_第2頁(yè)
Android移動(dòng)開(kāi)發(fā)基礎(chǔ)教程-第2章-Android界面開(kāi)發(fā)課件_第3頁(yè)
Android移動(dòng)開(kāi)發(fā)基礎(chǔ)教程-第2章-Android界面開(kāi)發(fā)課件_第4頁(yè)
Android移動(dòng)開(kāi)發(fā)基礎(chǔ)教程-第2章-Android界面開(kāi)發(fā)課件_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)第2章 Android界面開(kāi)發(fā)2.1 視圖組件與視圖容器2.2 常用布局2.3 常用控件2.4 對(duì)話框Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)第2章 Android界面開(kāi)發(fā)2.5 菜單2.6 常用資源類(lèi)型2.7 事件處理和消息傳遞Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 基本概念(1)組件或控件:界面的基本元素;(2)視圖(View):所有控件的基類(lèi);(3)視圖容器(ViewGroup):控件的載體;2.1 視圖組件和視圖容器第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 開(kāi)發(fā)用戶(hù)界面的方式(1)通過(guò)Java代碼定義控件并設(shè)置控件的屬性;(2)通過(guò)XML文件控制控件的布

2、局和屬性; 通過(guò)XML布局文件控制Android的界面,可以使界面的設(shè)計(jì)更加簡(jiǎn)單清晰,具有更低地耦合性。而且這種方式可以將視圖的邏輯從Java代碼中抽離出來(lái),更加符合MVC的設(shè)計(jì)原則。Android也推薦使用XML的方式設(shè)計(jì)界面。2.1 視圖組件和視圖容器第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 線性布局 線性布局通過(guò)LinearLayout類(lèi)來(lái)實(shí)現(xiàn),是一個(gè)視圖容器,可以向其中添加不同的控件。LinearLayout將控件一個(gè)挨著一個(gè)排列起來(lái),排列的順序有橫向排列和縱向排列。2.2 常用布局第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 相對(duì)布局(1)相對(duì)布局

3、主要通過(guò)RelativeLayout類(lèi)實(shí)現(xiàn),布局方式更靈活。(2)相對(duì)布局容器中子控件的位置是由父控件或者其他兄弟控件定義的??梢允巩?dāng)前的控件與其他控件的邊界對(duì)齊,或者在某個(gè)控件的下面,又或者在父控件的中間位置。2.2 常用布局第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)相對(duì)布局屬性 2.2 常用布局第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)屬性取值類(lèi)型說(shuō)明android:layout_above其他控件id設(shè)置當(dāng)前控件在指定id的控件上方android:layout_below其他控件id設(shè)置當(dāng)前控件在指定id的控件下方android:layout_toLe

4、ftOf其他控件id設(shè)置當(dāng)前控件在指定id的控件左側(cè)android:layout_toRightOf其他控件id設(shè)置當(dāng)前控件在指定id的控件右側(cè)android:layout_alignTop其他控件id設(shè)置當(dāng)前控件與指定id的控件上邊界對(duì)齊android:layout_alignBottom其他控件id設(shè)置當(dāng)前控件與指定id的控件下邊界對(duì)齊android:layout_alignLeft其他控件id設(shè)置當(dāng)前控件與指定id的控件左邊界對(duì)齊android:layout_alignRight其他控件id設(shè)置當(dāng)前控件與指定id的控件右邊界對(duì)齊android:layout_alignParentTopt

5、rue、false設(shè)置當(dāng)前控件是否和父布局的上方對(duì)齊android:layout_alignParentBottomtrue、false設(shè)置當(dāng)前控件是否和父布局的下方對(duì)齊android:layout_alignParentLefttrue、false設(shè)置當(dāng)前控件是否和父布局的左邊界對(duì)齊android:layout_alignParentRighttrue、false設(shè)置當(dāng)前控件是否和父布局的右邊界對(duì)齊android:layout_centerHorizontaltrue、false設(shè)置當(dāng)前控件是否在父布局中水平居中android:layout_centerVerticaltrue、false設(shè)

6、置當(dāng)前控件是否在父布局中垂直居中android:layout_centerInParenttrue、false設(shè)置當(dāng)前控件是否在父布局中居中 列表視圖列表視圖可以使用ListView控件實(shí)現(xiàn),它展示了一個(gè)垂直可滑動(dòng)的下拉列表,其中的每一行稱(chēng)為L(zhǎng)istView的一個(gè)子項(xiàng)。 2.2 常用布局第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)屬性屬性描述android:dividerListView的分隔條android:dividerHeight分隔條的高度android:entries數(shù)組資源,指定ListView需要顯示的內(nèi)容 網(wǎng)格視圖網(wǎng)格視圖采用GridView實(shí)現(xiàn),和ListVi

7、ew用法比較類(lèi)似,但是網(wǎng)格視圖是一個(gè)二維視圖。 2.2 常用布局第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)屬性屬性描述android:columnWidth設(shè)置列的寬度android:numColumns設(shè)置列數(shù)android:verticalSpacing每?jī)尚兄g的垂直間距android:horizontalSpacing每?jī)闪兄g的水平間距android:stretchMode拉伸模式android:gravity每一格中內(nèi)容的對(duì)齊方式 文本框和編輯框(1)文本框通過(guò)TextView控件實(shí)現(xiàn),用于文字的顯示。(2)編輯框通過(guò)EditText實(shí)現(xiàn),它繼承自TextView

8、,屬性和用法與TextView一致,只不過(guò)它允許用戶(hù)改變其中的內(nèi)容。 2.3 常用控件第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)屬性屬性描述android:text文本框顯示的文字android:textSize顯示文字的大小android:textColor顯示文字的顏色android:gravity文字在文本框中的位置android:ellipsize文字內(nèi)容超過(guò)文本框大小時(shí)的顯示方式android:password是否以點(diǎn)代替顯示輸入的文字android:editable文本框是否可編輯android:hint當(dāng)文本框的內(nèi)容為空時(shí),顯示的提示文字android:sing

9、leLine是否單行顯示android:autoLink是否將指定格式的文本轉(zhuǎn)化為可點(diǎn)擊的鏈接android:cursorVisible光標(biāo)是否可見(jiàn)android:drawableLeft在文本框中文本的左側(cè)顯示指定圖片 文本框和編輯框 2.3 常用控件第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) android:ellipsize的取值: none:文字超長(zhǎng)不做任何處理。 start:在文字的起始處顯示省略號(hào)。 middle:在文字的中間顯示省略號(hào)。 end:在文字的結(jié)尾處顯示省略號(hào)。 marquee:文字滾動(dòng)顯示。 android:autoLink的取值: none:不進(jìn)行

10、文本檢測(cè)。 web:將文本框中的網(wǎng)址轉(zhuǎn)換為鏈接。 email:將文本框中的郵箱地址轉(zhuǎn)換為鏈接。 phone:將文本框中的電話號(hào)碼轉(zhuǎn)換為鏈接。 map:將文本框中的地址轉(zhuǎn)換為鏈接。 all:等價(jià)于設(shè)置為web|email|phone|map。 按鈕 按鈕通過(guò)Button控件實(shí)現(xiàn),Button類(lèi)繼承自TextView,它可以供用戶(hù)單擊,當(dāng)用戶(hù)單擊之后,就會(huì)觸發(fā)一個(gè)onClick事件,可以通過(guò)監(jiān)聽(tīng)onClick事件做一些自定義的處理。單選按鈕和復(fù)選框 在有些界面中,信息并不一定完全需要用戶(hù)輸入,可以提供一組信息讓用戶(hù)進(jìn)行選擇,這可以通過(guò)單選按鈕和復(fù)選框?qū)崿F(xiàn)。單選框和復(fù)選框分別通過(guò)RadioButto

11、n和CheckBox實(shí)現(xiàn)。2.3 常用控件第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 圖片控件圖片控件通過(guò)ImageView實(shí)現(xiàn),它主要用于圖片顯示。2.3 常用控件第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)屬性屬性描述android:adjustViewBounds設(shè)置ImageView控件是否調(diào)整自己的邊界保持所顯示圖片的長(zhǎng)寬比例android:maxHeightImageView控件的最大高度android:maxWidthImageView控件的最大寬度android:scaleType設(shè)置圖片如何調(diào)整自己的大小去適應(yīng)ImageView控件的大小an

12、droid:src設(shè)置ImageView顯示的Drawable對(duì)象matrix默認(rèn)的顯示方式,不改變圖片的大小,從ImageView的左上角開(kāi)始顯示,超出部分裁剪掉fitXY對(duì)圖片橫向、縱向縮放,使得圖片填滿(mǎn)整個(gè)ImageView顯示fitStart保持圖片的縱橫比進(jìn)行縮放,直至圖片較長(zhǎng)的一邊和ImageView對(duì)應(yīng)的邊相等,然后顯示在ImageView的左上部分fitCenter保持圖片的縱橫比進(jìn)行縮放,直至圖片較長(zhǎng)的一邊和ImageView對(duì)應(yīng)的邊相等,圖片居中顯示fitEnd保持圖片的縱橫比進(jìn)行縮放,直至圖片較長(zhǎng)的一邊和ImageView對(duì)應(yīng)的邊相等,然后顯示在圖片的右下部分center

13、保持原圖的大小,將圖片顯示在ImageView的中間,超出部分裁剪掉centerCrop原圖小于ImageView時(shí),保持圖片的縱橫比放大,直至圖片填滿(mǎn)整個(gè)ImageView,超出部分裁剪掉centerInside保持圖片的縱橫比進(jìn)行縮放,直至原圖完全顯示在ImageView中 進(jìn)度條和拖動(dòng)條 進(jìn)度條可以用來(lái)顯示當(dāng)前操作的進(jìn)度,拖動(dòng)條在進(jìn)度條的基礎(chǔ)上做了擴(kuò)展,允許用戶(hù)隨意拖動(dòng)當(dāng)前的進(jìn)度,例如音樂(lè)或視頻播放器,用戶(hù)可以拖動(dòng)滑塊實(shí)現(xiàn)快進(jìn)或快退。進(jìn)度條通過(guò)ProgressBar實(shí)現(xiàn),拖動(dòng)條通過(guò)SeekBar實(shí)現(xiàn)。2.3 常用控件第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)屬性屬性說(shuō)明

14、android:max進(jìn)度條的最大值android:maxHeight進(jìn)度條的最大高度android:maxWidth進(jìn)度條的最大寬度android:minHeight進(jìn)度條的最小高度android:minWidth進(jìn)度條的最小寬度android:progress進(jìn)度條默認(rèn)顯示的進(jìn)度 簡(jiǎn)單對(duì)話框 AlertDialog提供了一些方法用于生成帶消息和操作按鈕的對(duì)話框,對(duì)話框的內(nèi)容還可以是列表或者是自定義的View。2.4 對(duì)話框第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)方法名方法說(shuō)明create()創(chuàng)建一個(gè)AlertDialog對(duì)話框setCancelable(boolean

15、cancelable)設(shè)置當(dāng)前對(duì)話框是否可以被取消setIcon(Drawable icon)設(shè)置對(duì)話框的標(biāo)題圖標(biāo)setItems(CharSequenceitems,DialogInterface.OnClickListenerlistener)將對(duì)話框的內(nèi)容設(shè)置為列表setMessage(CharSequence message)設(shè)置對(duì)話框顯示的消息setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener)設(shè)置“取消”按鈕的顯示和事件處理setPositiveButton(CharSequen

16、ce text, DialogInterface.OnClickListener listener)設(shè)置“確定”按鈕的顯示和事件處理setTitle(CharSequence title)設(shè)置對(duì)話框顯示的標(biāo)題show()顯示對(duì)話框setView(View view)將對(duì)話框的內(nèi)容區(qū)域設(shè)置為自定義的View 列表對(duì)話框 AlertDialog除了可以創(chuàng)建簡(jiǎn)單的對(duì)話框之外,還可以創(chuàng)建列表對(duì)話框。調(diào)用AlertDialog.Builder對(duì)應(yīng)的setXXXItems()方法可以創(chuàng)建簡(jiǎn)單的列表、帶有單選按鈕的列表、帶有多選框的列表。2.4 對(duì)話框第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)

17、入門(mén) 自定義對(duì)話框 除了創(chuàng)建已有的對(duì)話框樣式外,AlertDialog.Builder還支持調(diào)用serView()方法顯示自定義的View。2.4 對(duì)話框第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 選項(xiàng)菜單 選項(xiàng)菜單是應(yīng)用的主菜單項(xiàng),在應(yīng)用的任何地方按菜單鍵都會(huì)彈出來(lái)。重寫(xiě)Activity的onCreateOptionsMenu()方法創(chuàng)建選項(xiàng)菜單,重寫(xiě)Activity的onOptionsItemSelected(MenuItem item)方法處理點(diǎn)擊菜單某一項(xiàng)的操作。2.5 菜單第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 上下文菜單 上下文菜單是指在應(yīng)用

18、中的某個(gè)地方長(zhǎng)按會(huì)彈出的菜單,類(lèi)似于在電腦上點(diǎn)擊鼠標(biāo)右鍵彈出來(lái)的菜單。重寫(xiě)Activity的onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)方法創(chuàng)建上下文菜單,重寫(xiě)onContextItemSelected(MenuItem item)方法處理單擊后的操作。2.5 菜單第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 資源類(lèi)型2.6 常用資源第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)目錄資源類(lèi)型res/animator/存放xml文件,定義屬性動(dòng)畫(huà)。res/anim/存放

19、xml文件,定義補(bǔ)間動(dòng)畫(huà)。res/color/存放xml文件,定義顏色狀態(tài)列表。res/drawable/存放圖片或者xml文件,用于表示可繪制對(duì)象。res/layout/存放xml文件,定義頁(yè)面布局。res/menu/存放xml文件,定義菜單內(nèi)容。res/raw/以原始形式保存的任意文件。要以IO流的方式打開(kāi)。res/values/包含多種數(shù)值文件,相應(yīng)的文件名如下:arrays.xml,用于資源數(shù)組(類(lèi)型化數(shù)組)。colors.xml:顏色值。dimens.xml:尺寸值。strings.xml:字符串值。styles.xml:樣式。 資源使用(1)在代碼中訪問(wèn) 訪問(wèn)形式:R.,其中res

20、ource_type代表資源的類(lèi)型,resource_name代表資源的名稱(chēng)。(2)在xml文件中訪問(wèn) 訪問(wèn)形式:/2.6 常用資源第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén)TextView txt = (TextView)findViewById(R.id.txt);txt.setText(R.string.txt_name); 字符串、顏色、尺寸 字符串、顏色、尺寸的資源文件均在res/values/目錄下,三者都定義在xml文件中,根元素是,每個(gè)子元素定義一個(gè)字符串,每個(gè)子元素定義一個(gè)顏色值,每個(gè)子元素定義一個(gè)尺寸值。2.6 常用資源第2章 Android界面開(kāi)發(fā)And

21、roid開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) Hello World #FF0000 #00FF00 20sp 26sp 國(guó)際化 在Android資源中實(shí)現(xiàn)國(guó)際化比較簡(jiǎn)單,只需要按照一定格式為不同的語(yǔ)言定義對(duì)應(yīng)的資源文件夾,應(yīng)用運(yùn)行的時(shí)候會(huì)自動(dòng)匹配加載最合適的文件。 以字符串資源為例,實(shí)現(xiàn)國(guó)際化需要在res目錄下創(chuàng)建對(duì)應(yīng)語(yǔ)言values文件夾,values文件夾的命名方式是values-語(yǔ)言碼-r國(guó)家碼,例如values-zh-rCN代表簡(jiǎn)體中文,其中,zh代表中文,CN代表大陸地區(qū),類(lèi)似的還有values-en-rUS代表美式英語(yǔ)。每個(gè)values文件夾下都有一個(gè)strings.xml文件,其中的字符串以不同的語(yǔ)言顯示。2.6 常用資源第2章 Android界面開(kāi)發(fā)Android開(kāi)發(fā)基礎(chǔ)知識(shí)入門(mén) 基于監(jiān)聽(tīng)的事件處理(1)事件源:事件產(chǎn)生所在的組件,例如點(diǎn)擊一個(gè)按鈕,按鈕就是事件源。(2)事件類(lèi)型:產(chǎn)生的事件類(lèi)型,如單擊事件、長(zhǎng)按事件、觸摸事件等。(3)事件監(jiān)聽(tīng)器:被動(dòng)地監(jiān)聽(tīng)組件上產(chǎn)生的事件,并做出相應(yīng)處理。 使用基于監(jiān)聽(tīng)的事件處理時(shí),需要對(duì)組件調(diào)用相應(yīng)的setListener()方法設(shè)置事件監(jiān)聽(tīng)器,例如調(diào)用setOnClickListener()方法監(jiān)聽(tīng)單擊事件,調(diào)用setOnLongClickListener

溫馨提示

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

評(píng)論

0/150

提交評(píng)論