移動應用開發(fā)--3_第1頁
移動應用開發(fā)--3_第2頁
移動應用開發(fā)--3_第3頁
移動應用開發(fā)--3_第4頁
移動應用開發(fā)--3_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、移動應用開發(fā)(Android)任務二 ColorCard色卡程序的開發(fā) 2.1 開發(fā)目標2.2 ColorCard項目準備v顏色定義2.3 ColorCard界面設計 頂層是相對布局“選項卡”實際上是一個線性布局,里面包含三個子線性布局充當選項卡的功能,每個子線性布局中只包含一個TextView組件界面中心區(qū)域也是一個線性布局它用來動態(tài)切換子界面2.3 ColorCard界面設計 TableLayout的左內(nèi)邊距paddingLeft為20dpTableRow中的兩列分別是View和TextView組件 TableRow的上內(nèi)邊距paddingTop為20dpTableLayout的伸縮列(s

2、hrinkColumns和stretchColumns)設置為第0列,即每一行的View組件這一列。2.3 ColorCard界面設計 頂層是相對布局分隔條是一個高度比較小的View組件底部界面設計與色卡的界面完全相同包含TableLayout、TableRow、View和TextView2.3 ColorCard界面設計 頂層是相對布局線性布局中包含三個TextView組件,通過設置等值的layout_weight均分水平方向的空間其它部分按照相對布局的空間排列設計2.4 選項卡切換v 選項卡切換原理 LinearLayout的點擊事件,變換前景和底色,模擬選項卡的功能 被點中的Linear

3、Layout選項卡布局設置背景為nullLinearLayout中只有一個子組件,即其中包含的TextView將點中的LinearLayout布局設為選中的背景,前景色變淺2.4 選項卡切換v 切換子界面 LinearLayout中動態(tài)添加子View(來自布局)2.4 選項卡切換v子界面切換動畫 通過view.startAnimation()調(diào)用啟動動畫 自定義動畫屬性設置2.5 色卡功能實現(xiàn) v數(shù)據(jù)格式約定 十六進制RGB顏色名所屬類別 色卡數(shù)據(jù)封裝類ColorSample 舉例:#FFB6C1淺粉紅HTML網(wǎng)頁顏色 2.5 色卡功能實現(xiàn) v色卡數(shù)據(jù)加載 拆分字符串2.5 色卡功能實現(xiàn) v動

4、態(tài)創(chuàng)建色卡條組件 依據(jù)數(shù)據(jù)動態(tài)創(chuàng)建TableRow組件2.6 檢索功能實現(xiàn) v根據(jù)輸入的顏色名檢索名字相符的顏色 獲取輸入框中的顏色名 從sampleList數(shù)組中獲取每一個元素,并與輸入的顏色名比較 將符合條件的顏色動態(tài)創(chuàng)建TableRow組件v關鍵思路 參照BMI項目獲取輸入的顏色名 復制色卡功能部分的for循環(huán)動態(tài)添加組件 TableRow row = new TableRow(ColorCardActivity.this);2.7 辨色功能實現(xiàn) v顏色相近判斷 每個顏色值包含三個分量,可看成是RGB或HSV色彩空間的一個點 顏色近似度則簡化成RGB/HSV色彩空間點距離 2.7 辨色功

5、能實現(xiàn) v啟動相機拍照 通過Intent啟動相機 MediaStore.ACTION_IMAGE_CAPTURE 返回拍照的照片數(shù)據(jù) intent.putExtra(return-data, true); 配置使用相機的權限2.7 辨色功能實現(xiàn) v啟動系統(tǒng)圖像剪裁 通過Intent啟動剪裁程序 com.android.camera.action.CROP 2.8 拓展-線性布局 v線性布局特性 在LinearLayout里面的控件將按嚴格的順序從上至下或從左至右排列成一行或者一列,每一個子元素都位于前一個元素之后。 LinearLayout布局里面的控件不能像RelativeLayout布局那

6、樣可以隨意布放,要受到LinearLayout線性的制約。如果要搭建兩行兩列的界面外觀,通常是先垂直排列兩個元素,每一個元素里再包含一個LinearLayout來進行水平排列。 2.8 拓展-線性布局 v線性布局空間分配 默認情況下線性布局中的每個子組件都是滿足內(nèi)容要求,即wrap_content或match_parent 如果需在LinearLayout中按比例分配子組件所占的屏幕空間,可使用android:layout_weight 屬性 如果子組件是在水平方向上按比例分配空間,則該組件的layout_width推薦設置為0dp;如果是在垂直方向上分配空間,則該組件的layout_heig

7、ht推薦設為0dp2.9 拓展-表格布局 v表格布局特點 TableLayout適用于M行N列的外觀布局。一個TableLayout通常包含有多個TableRow行 TableLayout布局中常用屬性 (1)android:collapseColumns=“1”,表示隱藏TableLayout里的第1列(列號從0開始計算),如果有多個列需要隱藏,則用逗號隔開,比如 android:collapseColumns=0,1(2)android:stretchColumns=“1”,表示設置第1列為可伸展的列,當屏幕寬度多于組件所需寬度時,第1列會被拉寬。(3)android:shrinkColu

8、mns=“0”,表示設置第0列為可收縮的列,當屏幕寬度變小時,第0列所占寬度會縮小。 2.10 拓展-RGB/CMYK/HSV色彩知識vRGB RGB顏色模型是最基本也是使用最為廣泛的一種顏色模式,它是由紅色R(Red)、綠色G(Green)、藍色B(Blue)三基色構成。RGB是一種光色模式,起源于有色光的3原色理論 2.10 拓展-RGB/CMYK/HSV色彩知識vCMYK CMYK是指青色(Cyan)、洋紅色(Magenta)、黃色(Yellow)、黑色(Black)四個色彩構成的。一般用于印刷類場合,如畫報、雜志、報紙、宣傳畫冊等。 2.10 拓展-RGB/CMYK/HSV色彩知識vH

9、SB/HSV HSB色彩模式是以色相(Hue)、飽和度(Saturation)、亮度(Brightness/ Value)來描述顏色的基本特性的,也稱為HSV,是根據(jù)日常生活中人眼的視覺特征而直接制定的一套色彩模式,最接近人們對色彩辯認的思考方式,所以比較直接與直觀。 RGB色彩可以直接轉換為HSV色彩表示 2.11 拓展-px/dp/sp vpx px是指pixel,代表屏幕上的像素點,即絕對像素,它是直接和硬件設備相關的,一塊屏幕在生產(chǎn)出來之后其上包含的像素點就不再發(fā)生改變,跟外界沒有關系,也跟軟件無關,物理是幾何圖形還是圖形或者文字,最終都是反映為像素點在屏幕上顯示出來的。 相同大小的屏

10、幕若分辨率不同,像素點的大小也是不同的,通常分辨率越高像素點就越小,當然也意味這在視覺效果上會顯得更加精細即更清晰。2.11 拓展-px/dp/sp vdp dp/dip是指device independent pixels,即獨立于設備的像素。 為了正常支持WVGA、HVGA和QVGA等不同分辨率的屏幕,推薦使用dip為單位,因為它不依賴屏幕像素點的大小,Android會根據(jù)當前屏幕像素密度進行自動調(diào)整。既然dip與屏幕的像素密度有關,而屏幕像素密度又與具體的硬件有關,如果硬件信息設置不正確,就有可能導致不能正常顯示。2.11 拓展-px/dp/sp vsp sp是指scaled pixels,即縮放的像素,主要用于指定字體的尺寸。使用sp為單位的文字,Android會根據(jù)當前屏幕的像素密度對字體自動調(diào)整,避免因屏幕分辨率的不同造成文字顯示過大或過小。 在設計Android應用程序界面布局的時候,控件長度、高度等屬性推薦使用dip為單位,如果是設置字體,就應該使用sp為單位。2.12 拓展-調(diào)試程序 v在程序開發(fā)時,程序的調(diào)試與排錯工作是少不了的,

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論