1脓鹃、活動(Activity)
活動是最容易吸引用戶的的地方石挂,它可以理解為一個用戶界面的組件井厌,主要用于與用戶進行交互。
1址晕、1創(chuàng)建和加載布局
Android程序講究邏輯與視圖分離膀懈,最好每一個活動都能對應(yīng)一個布局,布局就是用來顯示界面內(nèi)容的谨垃。布局文件:layout?resource?file
Android?studio的可視化視圖編輯器启搂;Design是可視化設(shè)計,Text是通過XML文件的布局方式來實現(xiàn)的刘陶,
1胳赌、2?Activity創(chuàng)建之后需要在AndroidMainfest文件中進行注冊
活動的注冊生命就是在AndroidMainfest文件的標簽中,通過標簽中來對活動進行注冊:
另外還必須對程序配置主活動匙隔,也就是說疑苫,當程序運行起來,不知道要首先啟動哪一個活動纷责。配置住活動就是在標簽內(nèi)加入標簽內(nèi)并在該標簽加入
和捍掺。這兩句聲明即可注冊程序的主活動。
除此之外再膳,我們還可以使用android:label指定活動中的標題欄的內(nèi)容挺勿。
需要注意的是,給主活動指定的label屬性喂柒,不僅會成為標題欄中的內(nèi)容不瓶,還會成為啟動器(Launcher)中應(yīng)用程序顯示的名稱
例如
android:label=”這是第一個活動”>
這樣的話,F(xiàn)irstActivity就成為我們程序的主活動灾杰,即點擊桌面的程序圖標就是首先打開的就是這個活動蚊丐,另外需要注意的是:如果你的程序沒有聲明任何一個活動作為主活動,這個程序還是可以正常安裝艳吠,只是你無法啟動器中看到這個或者打開這個程序吠撮。這種程序一般都是作為第三方服務(wù)供其它應(yīng)用在內(nèi)部進行調(diào)用,如支付寶的快捷支付服務(wù)
1.3在活動中使用Toast
Toast是安卓系統(tǒng)提供一種非常好的提示方式,在程序中可以使用它將一些信息的通知給用戶泥兰。我們在活動中使用使用Toast
例如:在按鈕中彈出一個Toast
button?button1=(Button)findViewById(R.id.button1);
button1.setOnclickListener(new?View.onClickListener()?{
@override
public?void?onC;ick(view?v){
Toast.makeText(FirstActivity.this.”你點擊了Button1按鈕”,Toast.LENGTH_SHORT).show();
}
});
}
Toast()方法特別簡單弄屡。通過靜態(tài)方法makeText()創(chuàng)建出一個Toast對象,然后在調(diào)用show()將Toast顯示出來就可以了鞋诗。
這里需要注意:makeToast()方法需要傳入3個方法參數(shù)膀捷,第一參數(shù)就是Context,就是Toast要求的上下文對象削彬。由于活動本身就是一個Context對象全庸,因此,這里直接傳入FirstActivity.this即可融痛。第二個參數(shù)是Toast顯示的文本對象壶笼。第三個參數(shù)是Toast顯示的時長。有兩個內(nèi)置常量可以選擇Toast.LENGTH_SHORT和Toast.LENGTH_LONG雁刷。
1.4:在活動中使用Menu
合理使用菜單可以精簡屏幕使用
在Android?Studio中的res的Menu文件夾覆劈。新建menu文件夾,再在下面新建一個名叫main的菜單文件沛励。然后New---Menu?Resource?file.
在main.xml添加菜單項
android:id=”@+id/add_item”
android:title=”Add”/>
android:id=”@+id/remove_item”
android:title=”Remove”/>
這里創(chuàng)建了兩個菜單項责语。其中標簽就是創(chuàng)建具體的一個某一項菜單項。
接著重新回到FirstActivity中重寫目派,onCreateOptionMenu()方法坤候。重寫方法可以使用Ctrl+O快捷鍵。
然后在onCreateOptionsMenu()方法重寫如下代碼:
public?boolean?onCreatOptionsMenu(menu?menu){
getMenuInflater().inflate(R.menu.main.menu)
return?true
}
通過getMenuInflater方法能夠獲得Menuflater對象企蹭,再調(diào)用它的inflater()方法就可以給當前活動創(chuàng)建菜單白筹。
Inflater()方法需要傳入兩個呢參數(shù),第一個參數(shù)指定我們通過哪一個資源文件來創(chuàng)建菜單谅摄。這里我們傳入R.menu.main遍蟋。
第二個參數(shù)是用于指定我們的菜單項將添加到哪一個Menu對象中,這里直接調(diào)用onCreatOptionsMenu()方法默認傳入的menu對象螟凭。然后給這個方法返回True,表示允許創(chuàng)建的菜單顯示出來。如果返回了false它呀,創(chuàng)建的菜單就無法顯示出來螺男。
當然僅僅是讓菜單顯示出來是不夠的。我們還要實現(xiàn)菜單上的功能纵穿。再定義菜單的響應(yīng)事件下隧。在FirstActivity中重寫onOptionsItemSelected()方法;
public?boolean?onOptionsItemSelected(MenuItem?item){
switch?(item.getItemId()){
case?R.id.add_item:
coast.makeText(this,”You?click?add”,?Toast.LENGTH.SHORT).show();
break;
case?R.id.remove_item:
Toast.makeText(this.”You?click?remove”,?Toast.LENGTH_SHORT).show();
break;
default:
}
return?true;
}
在onOptionsItemSelected()此方法中谓媒。通過調(diào)用item.getItemId()方法來判斷我們所點擊的是哪一個菜單項淆院。然后給每一個菜單項添加邏輯處理,這里就活學活用句惯,我們添加一個Toast對話框
1.4銷毀一個Activity
可以點擊back按鍵土辩。
也可調(diào)用activity的finish()方法
使用Intent在活動之間通信(更多Intent用法見下一節(jié))