Android簡單登錄界面共5頁文檔_第1頁
Android簡單登錄界面共5頁文檔_第2頁
Android簡單登錄界面共5頁文檔_第3頁
Android簡單登錄界面共5頁文檔_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、Android 簡單登錄界面接著上一講留下的需求”:設(shè)計(jì)一個(gè)登陸界面:允許用戶輸入用戶名,密碼;用戶點(diǎn)擊“Login”之后,如果用戶名為 admin, 密碼為123則顯示 登陸成功”;如果用戶名密碼其中之一不正確,紅色字體顯示登陸失??! ”首先我們來建立一個(gè)新的項(xiàng)目:圖標(biāo)那一步就隨便選吧,下一步:這一步與上次有點(diǎn)不同,這次我們不要ADT幫我們創(chuàng)建任何的 Activity ,我們只需要一個(gè)空的項(xiàng)目。點(diǎn)擊Finish后,我們會(huì)發(fā)現(xiàn),項(xiàng)目文件視圖下,與上次的不一樣,src, res/layout是空的,這一會(huì)需要我們自己去添加了。首先來明確一下我們現(xiàn)在的目標(biāo):建立一個(gè)包含登錄框的界面,并將它顯示在我

2、們的手機(jī)(模擬器)上。建立一個(gè)界面的主要步驟是什么呢?主要有以下幾步: 在res/layout下創(chuàng)建布局文件; 在src下創(chuàng)建Activity 子類,并將布局文件與這個(gè)Activity聯(lián)系起來。 在AndroidManifest.xml程序配置文件中,添加 Activity的聲明。我們先來1.創(chuàng)建布局文件:在Eclipse項(xiàng)目文件中選中l(wèi)ayout 文件夾,在工具欄里點(diǎn)擊下面圖標(biāo)在彈出的窗口, 填上這個(gè)xml布局文件的文件名,Root Element根節(jié)點(diǎn)就選擇 Linearlayout即可點(diǎn)擊下一步,這一步是選擇更多配置屬性的,暫且不用理會(huì),直接點(diǎn)擊Finish o我們發(fā)現(xiàn),在res/lay

3、out下面多了一個(gè)login.xml 文件,同時(shí)Android 的Layout 編輯器也把它打開了。切換到“source”代碼視圖,今天我們不用所見即所得”的傻瓜拖拽方式。我們看到xml代碼是這樣的:<?xml version="1.0" encoding="utf-8" ?><LinearLayout xmlns:android ="http:schemas.android/apk/res/android”android:layout_width ="match_parent”="match_parent

4、”="vertical" >android:layout_height android:orientation</LinearLayout >根節(jié)點(diǎn)是LinearLayout ,即線性布局,所謂線性布局,有點(diǎn)像 J2SE上的流式布局,就是其中 的UI元素,會(huì)按水平或者垂直方向順序地鋪開。LinearLayout 有個(gè) xml 屬,?。篴ndroid:orientation,它有兩個(gè)可選值:vertical 和 horizontal指明該線性布局中的元素,是以垂直( vertical) 還是水平(horizontal) 方向排列。下面是兩種方式的示意圖: 接

5、下來,我們要添加兩個(gè)輸入框,讓用戶輸入用戶名,密碼。輸入框使用的是 EditText, 我們在LinearLayout 中添加兩個(gè)EditText<?xml version="1.0" encoding="utf-8" ?><LinearLayout xmlns:android ="http:schemas.android/apk/res/android”android:layout_width android:layout_height android:orientation="match_parent"

6、="match_parent"="vertical" >第5頁<EditTextandroid:id ="+id/login_username” android:layout_width ="300dp" android:layout_height ="wrap_content" android:hint="Type name here."android:text="" ></ EditText > <EditTextandroi

7、d:id ="+id/login_password” android:layout_width ="300dp" android:layout_height ="wrap_content" android:hint="Type password here."android:inputType="textPassword”android:text="" ></ EditText ></ LinearLayout >對比每個(gè)節(jié)點(diǎn)屬性,我們發(fā)現(xiàn),不管是 LinearLay

8、out 還是EditText ,都會(huì)至少包含android:layout_widthandroid:layout_height上一講我們有介紹這兩個(gè)屬性,這里再詳細(xì)介紹一下,都有四種可選填的值:不管是 android:layout_width 還是 android:layout_heightwrap_content fill_parent match_parent 具體數(shù)值 前面三個(gè)參考上一講。具體數(shù)值可以填像素 px ,如300px,也可以填dp. dp (也寫作dip)是Android 平臺(tái)上特有的長度計(jì)量單位,它是與設(shè)備屏幕無關(guān)的單位,強(qiáng)烈建議我們在設(shè)計(jì)界面元素時(shí),都使用dp ,而非px

9、!原因這里不多拓展,以后會(huì)詳細(xì)描述。還有一個(gè)重要的屬性是: android:id ,它是UI元素的唯一標(biāo)識(shí),格式為 +id/XXXXXXX保存之后,我們會(huì)發(fā)現(xiàn),在 gen文件夾下面,ADT為我們自動(dòng)生成了代碼R.java :他們都是靜態(tài)且final的類或者成員。它的作用是,為資源建立索引,以便代碼中或者layout中方便的引用。public final class R publicstaticfinalclassattr publicstaticfinalclassdrawable publicstaticfinalintic_launcher=0x7f020000;publicstaticf

10、inalclassid publicstaticfinalintlogin_password=0x7f060001;publicstaticfinalintlogin_username=0x7f060000;publicstaticfinalclasslayout publicstaticfinalintlogin=0x7f030000;publicstaticfinalclassstring publicstaticfinalintapp_name=0x7f040000;publicstaticfinalclassstyle publicstaticfinalintAppTheme=0x7f

11、050000;接下來我們再添加一個(gè)用于提交的按鈕,以及用于顯示結(jié)果的文本:<Buttonandroid:id ="+id/login_submit”android:layout_width ="wrap_content"android:layout_height ="wrap_content"android:text="登錄"/><TextViewandroid:id ="+id/login_result”android:layout_width ="match_parent”andro

12、id:layout_height ="wrap_content" android:hint ="用于顯示登錄的結(jié)果”/>android:hint是用于提示文本,當(dāng) android:text有值是,會(huì)被替換。切換回 所見即所得”的圖形編輯視圖預(yù)覽一下:布局文件創(chuàng)建完成,我們進(jìn)行第二步:2.編寫代碼在 src 右鍵 New->Class->需要注意的是,該 LoginActivity 類必須繼承自Activity 類public class LoginActivity extends Activity *必須重載父類的onCreateOverride

13、protected void onCreate(Bundle savedInstanceState) super .onCreate(savedInstanceState);this .setContentView(R.layout.login); / 將布局文件與代碼關(guān)聯(lián)起 來/獲取布局文件中的UI元素對象final EditText mUserName = (EditText)this .findViewById(R.id.login_username);final EditText mPassword = (EditText)this .findViewById(R.id.login_p

14、assword);Button mSubmit = (Button) this .findViewById(R.id.login_submit);final TextView mResult =(TextView) this .findViewById(R.id.login_result);/設(shè)置按鈕點(diǎn)擊之后的事件處正mSubmit.setOnClickListener( newOnClickListener() Overridepublic void onClick(View v) String userName = mUserName.getText().toString();String

15、 password = mPassword.getText().toString();if ("admin".equals(userName) &&"123".equals(password)mResult.setText("恭喜您,登錄成功!");else mResult.setText("登錄失敗,用戶名或密碼不正確!");注意以下幾點(diǎn): 必須重載onCreate() 方法,而且必須首先調(diào)用一次父類的方法super.onCreate(savedInstanceState); setContent

16、View()方法用于關(guān)聯(lián)布局文件,應(yīng)該在 onCreate 中先調(diào)用,后面才能獲取到UI元素的對象。 因?yàn)橐㎡nClickListener匿名內(nèi)部類調(diào)用,所以局部變量要聲明為final. EditText.getText()方法返回的是 Editable 對象,而不是String,需要調(diào)用toString();3. AndroidManifest.xml聲明 activity所有的Activity 定義好了之后,只有在 AndroidManifest.xml中聲明過,才會(huì)有效。在application 節(jié)點(diǎn)中添加:<activity android:name ="LoginActivity"><intent-filter ><action android:name ="ent.action.MAIN”/><categoryandroid:name ="ent.category.LAUNCHER”/></ i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論