第一天:Activity詳解

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é))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末支救,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拷淘,更是在濱河造成了極大的恐慌各墨,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件启涯,死亡現(xiàn)場離奇詭異贬堵,居然都是意外死亡,警方通過查閱死者的電腦和手機结洼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門黎做,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人松忍,你說我怎么就攤上這事蒸殿。” “怎么了挽铁?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵伟桅,是天一觀的道長。 經(jīng)常有香客問我叽掘,道長楣铁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任更扁,我火速辦了婚禮盖腕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浓镜。我一直安慰自己溃列,他們只是感情好,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布膛薛。 她就那樣靜靜地躺著听隐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哄啄。 梳的紋絲不亂的頭發(fā)上雅任,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音咨跌,去河邊找鬼沪么。 笑死,一個胖子當著我的面吹牛锌半,可吹牛的內(nèi)容都是我干的禽车。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼殉摔!你這毒婦竟也來了州胳?” 一聲冷哼從身側(cè)響起盖高,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤霎褐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后救拉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彻采,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡腐缤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肛响。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岭粤。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖特笋,靈堂內(nèi)的尸體忽然破棺而出剃浇,到底是詐尸還是另有隱情,我是刑警寧澤猎物,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布虎囚,位于F島的核電站,受9級特大地震影響蔫磨,放射性物質(zhì)發(fā)生泄漏淘讥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一堤如、第九天 我趴在偏房一處隱蔽的房頂上張望蒲列。 院中可真熱鬧,春花似錦搀罢、人聲如沸蝗岖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抵赢。三九已至,卻和暖如春唧取,著一層夾襖步出監(jiān)牢的瞬間铅鲤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工兵怯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腔剂。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓媒区,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子袜漩,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容