




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章
登錄驗(yàn)證
AndroidStudio項(xiàng)目開發(fā)實(shí)戰(zhàn)——從基礎(chǔ)入門到趣味開發(fā)(第2版)目錄工作任務(wù)概述01PART預(yù)備知識(shí)02PART熱身任務(wù)03PART工作任務(wù)04PART教學(xué)目標(biāo)
了解?Activity?對(duì)應(yīng)的?UI?布局創(chuàng)建過?程。
了解?View?組件與?ViewGroup?布?局。
掌握?margin?屬性和?padding?屬?性的使用方法。
掌握?LinearLayout?的常用屬性及其使用方?法。
掌握不同分辨率的?Android?設(shè)備適配對(duì)應(yīng)分辨率圖片的方法。
掌握?EditText?的常用屬性及其使用方?法。
掌握?res/values?文件夾下各類資源文件的使用方?法。
掌握?shape?的使用方?法。
掌握?selector?的使用方?法。01工作任務(wù)概述5.1工作任務(wù)概述本章主要完成“薪火傳承”App“登錄”界面的?UI?布局,效果如圖?3-1?所?示。02預(yù)備知識(shí)3.2.1
View?與?ViewGroup?布局1.
AndroidAndroid?是一個(gè)基于?Linux?并開放源代碼的操作系統(tǒng),它最初由?AndyRubin?開發(fā),主要應(yīng)用于手機(jī)中,2005?年?8?月被?Google?收購。2007?年?11
月,Google?與?84?家硬件制造商、軟件開發(fā)商及電信運(yùn)營(yíng)商組建開放手機(jī)聯(lián)盟,共同研發(fā)并改良?Android。之后?Google?以?Apache?開源許可證的授權(quán)方式,公布了?Android?的源代碼。第一部?Android?智能手機(jī)發(fā)布于?2008?年?10?月,隨后,Android?的應(yīng)用逐漸擴(kuò)展到平板電腦及其他設(shè)備,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011
年,Android?在全球的市場(chǎng)份額首次超過?Symbian(塞班)系?統(tǒng)。Android?的?UI?界面都是由?View、ViewGroup?及其派生類組合而成的。其中,View?是所有?UI?組件的基類,而?ViewGroup?是容納這些?UI?組件的容器,它本身也是由?View?派生?的。View?是?Android?應(yīng)用程序中用戶?UI?界面的最基礎(chǔ)單元。View?類為其?widgets(工具)子類奠定了基礎(chǔ)。View?組件是可見的視覺組件,在其內(nèi)部不能再置入其他組?件。ViewGroup?類為其?Layouts(布局)子類奠定了基礎(chǔ)。ViewGroup?組件是不可見的容器組件,用來設(shè)置容器內(nèi)部的?View?組件和?ViewGroup?組件的排列規(guī)則。View?組件與?ViewGroup?組件的關(guān)系如圖?3-2?所示,一般在?AndroidStudio?中可以通過?ComponentTree?視圖查看它們之間的樹形結(jié)?構(gòu)。3.2.2
LinearLayout1.
Android1.LinearLayout?簡(jiǎn)介L(zhǎng)inearLayout?是線性布局控件,其包含的子控件以橫向或豎向的方式排列,并按照相對(duì)位置來排列所有的?widgets?或其他的?containers,當(dāng)某些控件超過邊界時(shí),它們將缺失或消失。因此,一個(gè)豎向排列的?LinearLayout?的每行只有一個(gè)?widget?或?container(兩者的高度不限);一個(gè)橫向排列的?LinearLayout?只有一個(gè)行高(為最高子控件的高度加上邊框高度)。LinearLayout?控制其所包含的?widget?或?container?之間的間隔及相互對(duì)齊方式(相對(duì)于一個(gè)控件的右對(duì)齊、中間對(duì)齊或左對(duì)齊)。2.線性布局常用屬性及其作用線性布局常用屬性及其作用如表所示。3.2.3
Android?控件的?margin?屬性和?padding?屬性1.
Android控件屬性中的?margin?屬性和?padding?屬性是布局中比較常用的兩個(gè)屬性,這兩個(gè)屬性主要用來設(shè)置邊?距。margin?屬性:設(shè)置控件與其父控件或兄弟控件的邊?距。padding?屬性:設(shè)置控件與其子控件或其內(nèi)部?jī)?nèi)容(如文本)的邊?距。margin?屬性與?padding?屬性示意圖如圖?3-3?所示。若為控件?B設(shè)置?margin?屬性和?padding?屬性,則控件?A?是控件?B?的父控件,控件?C(或內(nèi)容?C)是控件?B?的子控件或內(nèi)部?jī)?nèi)容??丶?B?的?margin?屬性設(shè)置的是控件?B?與控件?A?之間的距離;控件?B?的?padding?屬性設(shè)置的是控件?B?與控件?C(或內(nèi)容?C)之間的距?離。3.2.4
EditText?組件1.
Android在?Android?中,EditText(編輯框)用于在屏幕上顯示文本輸入框,在其中可以輸入單行文本,也可以輸入多行文本,還可以輸入指定格式的文本,如密碼、電話號(hào)碼和郵箱等。EditText?組件的常用屬性及其作用如表?3-2?所?示。屬
性作
用android:hint設(shè)置顯示在編輯框中的提示信息android:numeric設(shè)置編輯框中輸入的數(shù)據(jù)類型:integer(正整數(shù))、signed(帶符號(hào)整數(shù),有正負(fù)之分)和decimal(浮點(diǎn)數(shù))android:singleLine設(shè)置是否單行輸入,一旦設(shè)置為true,則文字不會(huì)自動(dòng)換行android:password設(shè)置文本是否以密碼形式顯示android:textColor設(shè)置文字顏色android:textStyle設(shè)置文字樣式:bold、italic、bolditalicandroid:textSize設(shè)置文字大小android:textColorHighlight設(shè)置被選中文字的底色,默認(rèn)為藍(lán)色android:textColorHint設(shè)置提示信息文字的顏色,默認(rèn)為灰色android:textScaleX設(shè)置字間距android:typeface設(shè)置字型:normal、sans、serif、monospaceandroid:background設(shè)置背景android:layout_weight設(shè)置權(quán)重android:drawableBottom在文字的下方輸出一個(gè)drawable,如圖片android:drawableLeft在文字的左邊輸出一個(gè)drawable,如圖片android:drawableRight在文字的右邊輸出一個(gè)drawable,如圖片android:drawableTop在文字的上方輸出一個(gè)drawable,如圖片android:drawablePadding設(shè)置text與drawable的間隔。該屬性與drawableLeft、drawableRight、drawableTop、drawableBottom結(jié)合使用可設(shè)置為負(fù)數(shù),單獨(dú)使用時(shí)沒有效果android:editable設(shè)置是否可編輯Android:maxlength設(shè)置編輯框的最大可輸入字符數(shù)3.2.5不同分辨率的Android?設(shè)備適配對(duì)應(yīng)分辨率的圖片1.
Android1.尺寸概念(1)px(pixel):像素,即屏幕上的點(diǎn),不同設(shè)備顯示效果相同。例如,HVGA?表示?320px×480px。(2)in:英寸,指屏幕的物理尺寸,1in=2.54cm。例如,手機(jī)的屏幕大小為?5in、4in,這些尺寸是屏幕的對(duì)角線長(zhǎng)度,4in?表示手機(jī)屏幕(可視區(qū)域)的對(duì)角線長(zhǎng)度是?4×2.54=10.16cm。(3)pt(point):標(biāo)準(zhǔn)長(zhǎng)度單位,1pt=1/72in,用于印刷業(yè),也是?iOS?字體單位,Android?項(xiàng)目開發(fā)不使用該單位。(4)dpi(dotsperinch):打印分辨率,指每英寸能打印的點(diǎn)數(shù)(每英寸包含的像素?cái)?shù)),即打印精度。例如,對(duì)于分辨率為?320px×480px、寬為?2in、高為?3in?的手機(jī),其屏幕每英寸包含的像素的數(shù)量為?320/2=160(橫向)或?480/3=160(縱向),160?就是這部手機(jī)的?dpi,一般而言,橫向和縱向的這個(gè)值是相同的(因?yàn)榇蟛糠质謾C(jī)屏幕使用正方形的像素點(diǎn))。(5)ppi(pixelsperinch):圖像分辨率、像素密度,指圖像每英寸所包含的像素?數(shù)。(6)density:屏幕密度。density?和?dpi?的關(guān)系為?1density=dpi/160。(7)dp(也被稱為dip,densityindependentpixel):Android?特有的單位,與密度無關(guān),是基于屏幕密度的抽象單位。對(duì)于分辨率為
320px×480px
同時(shí)
dpi
為
160?的顯示器,1dp=1px。(8)sp(scaledpixel):放大像素,與刻度無關(guān),是文字大小單位,可以根據(jù)用戶設(shè)置的文字大小進(jìn)行縮放。sp?也是?Android?特有的單位。由?TextView?的源代碼可知,Android?默認(rèn)使用?sp?作為文字大小單位。以?160ppi?屏幕為標(biāo)準(zhǔn),當(dāng)字體大小為?100%時(shí),1sp=1px。3.2.5不同分辨率的Android?設(shè)備適配對(duì)應(yīng)分辨率的圖片1.
Android2.換算關(guān)系(1)px=dp×(dpi/160)。小貼士用?sp?和?dp?代替?px?的原因是它們不會(huì)隨?ppi?的變化而使呈現(xiàn)效果變化,在物理尺寸相同、ppi/dpi?不同的情況下,它們呈現(xiàn)的高度是相同的,也就是說,sp?和?dp?更接近物理呈現(xiàn)方式,px?則不?是。3.2.5不同分辨率的Android?設(shè)備適配對(duì)應(yīng)分辨率的圖片1.
Android3.區(qū)分標(biāo)準(zhǔn)Google?官方指定的?dpi?區(qū)分標(biāo)準(zhǔn)如表
所?示?,F(xiàn)舉例說明?Android?手機(jī)如何找到與之適配的圖片。例如,某款手機(jī)配置為?1080px×1920px?和?400dpi,則對(duì)應(yīng)?drawable-xxhdpi?文件夾,系統(tǒng)會(huì)自動(dòng)優(yōu)先在?drawable-xxhdpi?文件夾中尋找對(duì)應(yīng)的圖片。若找到對(duì)應(yīng)圖片則加載,此時(shí)圖片在手機(jī)屏幕上顯示其本身的大?。蝗绻凑业?,那么系統(tǒng)會(huì)到更高分辨率的?drawable-xxxhdpi?文件夾中尋找,若一直尋找到最高分辨率的文件夾也沒有找到,就由高到低依次查找低分辨率的文件夾,即從?drawable-xhdpi?文件夾一直查找到?drawable-ldpi?文件?夾。3.2.6
res/values?文件夾下常用的?XML?資源文件1.
Android在所有?XML?資源文件夾中,最常使用的文件夾是?res/values,在此文件夾中一般會(huì)創(chuàng)建?strings.xml、colors.xml、dimens.xml、styles.xml?四種類型的?XML?資源文?件。1.strings.xml(文字資源文件)為了國(guó)際化及減小?App?的體積、降低數(shù)據(jù)的冗余,在?Android?開發(fā)中會(huì)把應(yīng)用程序中出現(xiàn)的文字單獨(dú)存放在?strings.xml?文件中。作為?Android?應(yīng)用開發(fā)人員,一定要養(yǎng)成良好的編程習(xí)?慣。(1)在?strings.xml?文件中添加字符串,具體代碼如?下。(2)在?Java?代碼中使用?getString(R.string.app_name)方法獲取字符串的內(nèi)容。(3)在?UI?布局文件中使用?android:text="@string/app_name"屬性獲取字符串的內(nèi)容。3.2.6
res/values?文件夾下常用的?XML?資源文件1.
Android2.colors.xml(顏色資源文件)colors.xml?文件主要設(shè)置應(yīng)用程序中所需的顏色。Android?的文字顏色定義方式采用類似網(wǎng)頁格式的顏色定義方式,即常見的十六進(jìn)制定義法。顏色設(shè)置語法表如表
所?示。(1)在?colors.xml?文件中添加顏色配置信息,具體代碼如?下。(2)在?Java?代碼中使用?getResources().getColor(R.color.green)方法獲取顏色配置信息。(3)在?UI?布局文件中使用?android:textColor="@color/green"屬性獲取顏色配置信息。3.2.6
res/values?文件夾下常用的?XML?資源文件1.
Android3.dimens.xml(尺寸資源文件)dimens.xml?文件可用于設(shè)置組件的大小及文字大小,它提供了如表
所示的幾種尺寸定義方?式。3.2.6
res/values?文件夾下常用的?XML?資源文件1.
Android(1)在?dimens.xml?中添加尺寸配置信息,具體代碼如?下。(2)在?Java?代碼中使用?getResources().getDimension(R.dimen.btn_width)方法獲取配置信息。(3)在?UI?布局文件中使用?android:layout_width="@dimen/btn_width"屬性獲取配置信息。3.2.6
res/values?文件夾下常用的?XML?資源文件1.
Android4.styles.xml(主題風(fēng)格資源文件)styles.xml?文件類似于網(wǎng)頁的樣式表文件,屬于更高級(jí)的?XML?資源文件,它是一個(gè)多屬性的?XML?資源文件。在?AndroidStudio?中,styles.xml?文件會(huì)默認(rèn)產(chǎn)生一個(gè)名字為“AppTheme”的樣式,該樣式是程序的主題樣?式。(1)在?styles.xml?文件中添加樣式信息,具體代碼如?下。(2)在?Java?代碼中使用?setTheme(R.style.text_font)方法獲取樣式信息。(3)在?UI?布局文件中使用?style="@style/text_font"屬性獲取樣式信息。3.2.7
shape1.
Android1.shape?簡(jiǎn)介shape?是用于定義一些形狀的樣式,可以在?Android?開發(fā)中控制控件的背景。shape?共有?6?個(gè)屬性,分別是?corners、padding、size、solid、stroke、gradient。2.在?AndroidStudio?中添加?shape?的方法(1)在?Project?視圖中右擊?res?文件夾,在彈出的快捷菜單中選擇“New”→“AndroidResourceFile”選項(xiàng),新建文件,如圖
3-4?所?示。3.2.7
shape1.
Android(2)在打開的“NewResourceFile”對(duì)話框中,通過“Filename”文本框?yàn)樾挛募凇癛esourcetype”下拉列表中選擇“Drawable”選項(xiàng),并將“Rootelement”修改為“shape”,如圖
3-5?所?示。(3)單擊“OK”按鈕,在項(xiàng)目的?res/drawable?文件夾中添加一個(gè)名為?test.xml?的?shape?文?件。(4)打開?test.xml?文件,在該文件內(nèi)添加相應(yīng)的屬性即?可。小貼士shape?文件存放于?drawable?文件夾中,可以把?shape?文件看成圖片,在實(shí)際應(yīng)用中以圖片的方式應(yīng)用即?可。3.2.7
shape1.
Android3.shape?常用屬性簡(jiǎn)介(1)corners:用于控制邊框?4?個(gè)角的大小,默認(rèn)值為?0dp,表示直角,如果設(shè)置值大于?0dp,那么會(huì)產(chǎn)生圓角的效果。corners?有?5?個(gè)屬性,它們的作用如表所?示。3.2.7
shape1.
Android(2)padding:用于控制背景邊框與背景中內(nèi)容的距離,即用于控制內(nèi)邊距。padding?有?4?個(gè)屬性,它們的作用如表所?示。3.2.7
shape1.
Android(3)size:用于設(shè)置背景的大小,有?android:height?和?android:width?兩個(gè)屬性,不能將這兩個(gè)屬性值設(shè)置為?match_parent?或?wrap_content,只能將其設(shè)置為具體的數(shù)值。另外,如果這兩個(gè)屬性值比背景上的控件的對(duì)應(yīng)屬性值還要小,那么系統(tǒng)不會(huì)以設(shè)置的數(shù)值為準(zhǔn),而會(huì)以包裹住控件的最小的高度和寬度來作為背景的高度和寬度;如果設(shè)置的數(shù)值較大,那么系統(tǒng)會(huì)以設(shè)置的數(shù)值為準(zhǔn)。size?的兩個(gè)屬性的作用如?下。①android:width:用于設(shè)置背景的寬?度。②android:height:用于設(shè)置背景的高?度。3.2.7
shape1.
Android(4)solid:用于控制背景顏色,只有?android:color?屬?性。3.2.7
shape1.
Android(5)stroke:用于控制背景的邊框。stroke?共有?4?個(gè)屬性,它們的作用如表
所?示。注意觀察?android:dashGap?和?android:dashWidth?控制的邊框是否為虛線,如果這兩個(gè)屬性的值同時(shí)被設(shè)置為正數(shù),那么邊框?yàn)樘摼€;如果兩個(gè)屬性的值中的任意一個(gè)沒有被設(shè)置(或被設(shè)置為?0dp),那么邊框?yàn)閷?shí)?線。3.2.7
shape1.
Android3.2.7
shape1.
Android(6)gradient:用于設(shè)置背景色的效果,一旦設(shè)置了該屬性,solid?中設(shè)置的背景顏色就不再生效。gradient?有?9?個(gè)屬性,它們的作用如表?3-9?所示。注意,當(dāng)?android:type?的值不同時(shí),有些屬性不生?效。3.2.7
shape1.
Android3.2.8
selector1.
Android1.selector?簡(jiǎn)介selector(選擇器)在?Android?中通常用作組件的背景,可以省去用代碼實(shí)現(xiàn)組件在不同狀態(tài)下的背景顏色或圖片的變換,使用起來十分方?便。2.在?AndroidStudio?中添加?selector?的方法(1)在?Project?視圖中右擊?res?文件夾,在彈出的快捷菜單中選擇“New”→“AndroidResourceFile”選項(xiàng),新建文件,如圖?3-15?所?示。(2)在打開的“NewResourceFile”對(duì)話框中,在“Filename”文本框中為新文件命名,在“Resourcetype”下拉列表中選擇“Drawable”選項(xiàng),將“Rootelement”修改為“selector”,如圖
3-16?所?示。3.2.8
selector1.
Android(2)在打開的“NewResourceFile”對(duì)話框中,在“Filename”文本框中為新文件命名,在“Resourcetype”下拉列表中選擇“Drawable”選項(xiàng),將“Rootelement”修改為“selector”,如圖
3-16?所?示。(3)單擊“OK”按鈕,在項(xiàng)目的?res/drawable?文件夾中添加一個(gè)名為?test.xml?的?selector?文?件。(4)打開?test.xml?文件,在該文件中添加相應(yīng)的屬性即?可。3.2.8
selector1.
Android3.selector?常用屬性selector?的常用屬性及其作用如表
所示。3.2.8
selector1.
Android4.使用?selector?的方法方法一:靜態(tài)使用
selector,即在?XML?布局文件中修改組件屬性,可以在文件中配置?android:listSelector="@drawable/xxx"屬性,或者添加屬性?android:background="@drawable/xxx"。方法二:動(dòng)態(tài)使用?selector,即在?Java?文件中編寫代碼,第一步是使用Drawabledrawable=getResources().getDrawable(R.drawable.xxx)加載Drawable對(duì)象;第二步是使用XXX組件.setSelector(drawable)設(shè)置屬性。03熱身任務(wù)微信中的“我”子任務(wù)13.3熱身任務(wù)—微信中的“我”1.
Android1.任務(wù)說明完成如圖?3-17?所示的布局效?果。3.3熱身任務(wù)—微信中的“我”1.
Android2.操作步驟(1)新建項(xiàng)?目。(2)將項(xiàng)目圖片復(fù)制到項(xiàng)目的?res/drawable?文件夾中。在?Project?視圖中打開?res/layout?文件夾中的?activity_main.xml?布局文件,并向布局中添加組件,添加組件后的初始布局如圖?3-18所示,該文件的?ComponentTree?如圖?3-19?所示。3.3熱身任務(wù)—微信中的“我”1.
Android(3)修改?activity_main.xml?文件中相應(yīng)組件的屬性,修改完成后的?activity_main.xml?文件的代碼及相應(yīng)功能說明如?下。3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android3.3熱身任務(wù)—微信中的“我”1.
Android04工作任務(wù)實(shí)現(xiàn)“登錄”模塊的布局子任務(wù)13.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android1.知識(shí)點(diǎn)
?LinearLayout?的使用方?法。
?EditText?的使用方?法。
?Android?圖片不同分辨率的適配方法。
?shape?的使用方?法。
?selector?的使用方?法。
?res/values?文件夾下各類資源文件的使用方?法。2.工作任務(wù)制作“薪火傳承”App?登錄模塊的?UI?布局,實(shí)現(xiàn)如圖?3-20?所示的“登錄”界面效?果。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android3.操作流程(1)新建項(xiàng)目,項(xiàng)目名稱為?ChuanCheng。(2)將項(xiàng)目所有圖片素材復(fù)制到?drawable?文件夾?中。(3)右擊項(xiàng)目中?res/layout
文件夾下的
activity_main.xml?文件,在彈出的快捷菜單中選擇“refactor”→“Rename”選項(xiàng),將文件名改為?activity_login。之后右擊項(xiàng)目中?java
文件夾下的
MainActivity.java?文件,在彈出的快捷菜單中選擇“refactor”→“Rename”選項(xiàng),將文件名改為?LoginActivity。(4)單擊?IDE?窗口右上角的“Split”按鈕,將布局編輯器切換為設(shè)計(jì)視圖與代碼視圖同時(shí)編輯布局外觀的方式,在代碼窗口中將?androidx.constraintlayout.widget.ConstraintLayout(約束布局)改為?LinearLayout(線性布局),如圖?3-21?所?示。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(5)單擊?IDE?窗口右上角的“Design”按鈕,將布局操作視圖調(diào)整為?Design?視圖,如圖?3-22?所示,單擊序號(hào)?1?所示的?ComponentTree?中的“LinearLayout”節(jié)點(diǎn),之后單擊序號(hào)?2?所示的“切換”按鈕,將線性布局方向由?horizontal?改為?vertical。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(5)單擊?IDE?窗口右上角的“Design”按鈕,將布局操作視圖調(diào)整為?Design?視圖,如圖?3-22?所示,單擊序號(hào)?1?所示的?ComponentTree?中的“LinearLayout”節(jié)點(diǎn),之后單擊序號(hào)?2?所示的“切換”按鈕,將線性布局方向由?horizontal?改為?vertical。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(6)在?activity_login.xml?文件中添加組件,為了避免在一個(gè)項(xiàng)目中出現(xiàn)組件重名問題,建議添加組件時(shí)在每個(gè)組件的默認(rèn)?ID?名前面都添加一個(gè)“Login_”,添加組件后的“登錄”界面?UI?效果如圖?3-23?所示,其?ComponentTree?如圖?3-24?所?示。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(7)選中?ComponentTree?中最外層的?LinearLayout?組件,通過修改其?background?屬性將圖片?login_bg.jpg?設(shè)置為整個(gè)布局的背?景。(8)打開項(xiàng)目?res/values?文件夾中的?colors.xml?文件,添加?loginET_getfocus_color等屬性,修改后的代碼如下所?示。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(9)右擊項(xiàng)目中的?res/values?文件夾,在彈出的快捷菜單中選擇“New”→“XML”→“ValuesXMLFile”選項(xiàng),在打開的對(duì)話框的“ValuesFileName”文本框中輸入“dimens”,新建?dimens.xml?文件,并在該文件中添加?login_textsize?屬性,具體代碼如?下。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(10)打開項(xiàng)目?res/values?文件夾下的?strings.xml?文件,修改該文件的?app_name?屬性,并添加?login_title?等多個(gè)字符串屬性,具體代碼如?下。第
3
行代碼用于修改
App
標(biāo)題。該行代碼默認(rèn)通過項(xiàng)目中?manifests/AndroidManifest.xml?文件中的?android:label="@string/app_name"語句實(shí)現(xiàn)對(duì)?App?標(biāo)題的修?改。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(11)在ComponentTree面板中選中?Login_TextView?組件(見圖?3-25?序號(hào)?1),在屬性面板中單擊該組件
text
屬性的“PickaResource”按鈕(見圖?3-25?序號(hào)?2),并在“PickaResource”對(duì)話框中選擇?login_title?字符串(見圖?3-25?序號(hào)?3?),將?Login_TextView?組件的?text?屬性值設(shè)置為@string/login_title。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(12)在“Attributes”屬性面板中單擊“+”按鈕(見圖?3-26?序號(hào)?1),添加?textSize?屬性(見圖?3-26?序號(hào)?2),單擊該屬性的“PickaResource”按鈕(見圖?3-26?序號(hào)?3),并在“PickaResource”對(duì)話框中選擇“l(fā)ogin_textsize”選項(xiàng)(見圖?3-26?序號(hào)?4),將該組件字號(hào)大小修改為?30sp。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(13)單擊“Attributes”屬性面板中DeclaredAttributesd右側(cè)的“+”按鈕(見圖?3-27?序號(hào)?1),添加?textColor?屬性(見圖?3-27?序號(hào)?2),單擊該屬性的“PickaResource”按鈕(見圖3-27序號(hào)3),并在“PickaResource”對(duì)話框中選擇?“white”選項(xiàng)(見圖?3-27?序號(hào)?4),設(shè)置?textColor?屬性值為@color/white。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(14)用相同的操作方法分別將布局中?ID?為?Login_textView2?的?text?屬性值設(shè)置為@string/forgetpsw,textColor?屬性值為@color/white。將ID?為?Login_textView3?的?TextView?組件的?text?屬性值設(shè)置為@string/nouser,textColor?屬性值為@color/login_textcolor。將ID?為?Login_textView4?的?TextView?組件的?text?屬性值設(shè)置為@string/reg,textColor?屬性值為@color/white。ID?為?Login_editText?的?hint?屬性值設(shè)置為@string/username,ID?為?Login_editText2?的?hint?屬性值設(shè)置為@string/password,修改后的布局效果如圖?3-28?所?示。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(15)在?Project?視圖中右擊?res?文件夾,在彈出的快捷菜單中選擇“New”→“AndroidResourceFile”選項(xiàng),在“NewResourceFile”對(duì)話框中依照?qǐng)D?3-29?所示的內(nèi)容填寫信息,新建一個(gè)名字為?edit_login_shape_t.xml?的?shape?文件,并在該文件中添加相應(yīng)屬性。此處的?shape?文件用于設(shè)置?Login_editText?及?Login_editText2?兩個(gè)文本編輯框獲取焦點(diǎn)后的背景效果,具體代碼如圖所示。第?3?行代碼設(shè)置?shape?圓角為dimens.xml文件中定義的?edit_shape。第?4?行代碼設(shè)置?shape?的填充色。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
Android(16)重復(fù)步驟(15)的操作,新建一個(gè)名字為?edit_login_shape_f.xml?的?shape?文件,并在該文件中添加相應(yīng)屬性。此處的?shape?文件用于設(shè)置?Login_editText?及?Login_editText2?兩個(gè)文本編輯框失去焦點(diǎn)后的背景效果,具體代碼如?下。(17)在?Project?視圖中右擊?res?文件夾,在彈出的快捷菜單中選擇“New”→“AndroidResourceFile”選項(xiàng),在“NewResourceFile”對(duì)話框中依照?qǐng)D?3-30?所示的內(nèi)容填寫信息,新建一個(gè)名為?edituser_selector.xml?的?selector?文件,并在該文件中添加相應(yīng)屬性。此處的?selector?文件主要用于實(shí)現(xiàn)當(dāng)?Login_editText?及?Login_editText2?兩個(gè)文本編輯框獲取焦點(diǎn)或失去焦點(diǎn)時(shí)自動(dòng)切換背景的功能,具體代碼如?下。3.4實(shí)現(xiàn)“登錄”模塊的布局1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030元宇宙概念對(duì)管理咨詢行業(yè)服務(wù)創(chuàng)新的啟示
- 2025-2030兒童認(rèn)知發(fā)展培訓(xùn)行業(yè)競(jìng)爭(zhēng)格局與商業(yè)模式創(chuàng)新研究報(bào)告
- 2025-2030兒童腦科學(xué)研究成果轉(zhuǎn)化與商業(yè)化應(yīng)用前景
- 2025-2030兒童編程教育促進(jìn)計(jì)算思維發(fā)展的腦網(wǎng)絡(luò)重組研究與教具專利布局
- 2025-2030兒童注意力缺陷多動(dòng)障礙的早期預(yù)測(cè)模型構(gòu)建
- 2025-2030兒童早期邏輯思維訓(xùn)練產(chǎn)品的技術(shù)發(fā)展與市場(chǎng)預(yù)測(cè)
- 2025-2030兒童創(chuàng)造力發(fā)展的神經(jīng)教育學(xué)視角與培養(yǎng)路徑
- 2025-2030健身器材行業(yè)技術(shù)革新與消費(fèi)升級(jí)趨勢(shì)分析報(bào)告
- 2025-2030佛教用品市場(chǎng)珍稀木材來源合法性審查
- 2025-2030傳統(tǒng)文化經(jīng)典誦讀對(duì)幼兒記憶能力提升的神經(jīng)機(jī)制與推廣路徑
- 網(wǎng)絡(luò)安全威脅建模規(guī)范
- 2025年雙鴨山寶清縣公安局公開招聘留置看護(hù)隊(duì)員100人工作考試考試參考試題及答案解析
- 統(tǒng)編版2025-2026學(xué)年語文六年級(jí)上冊(cè)第一、二單元綜合測(cè)試卷(有答案)
- 2025年國(guó)企面試題型及答案
- 5年(2021-2025)高考1年模擬物理真題分類匯編專題04 機(jī)械能守恒、動(dòng)量守恒及功能關(guān)系(廣東專用)(解析版)
- 石刻牌坊施工方案
- 2025陜西“堅(jiān)持以教育家精神鑄魂強(qiáng)師打造支撐教育強(qiáng)國(guó)的高素質(zhì)專業(yè)化教師隊(duì)伍”專題網(wǎng)絡(luò)培訓(xùn)在線考試(基教)題答案
- T-CWAN 0166-2025 不銹鋼波紋管非熔化極氣體保護(hù)焊工藝規(guī)范
- 2025-2026浙教版(2024)七年級(jí)上冊(cè)科學(xué)教學(xué)計(jì)劃
- 2025年全國(guó)中小學(xué)生天文知識(shí)競(jìng)賽試題庫
- 運(yùn)動(dòng)醫(yī)學(xué)培訓(xùn)體系構(gòu)建
評(píng)論
0/150
提交評(píng)論