標籤:android android學習 activity android基礎
前面我簡單的介紹了android的一些基礎知識,當作熱身吧,接下來接觸android的四大組件的activity活動。
1.活動Activity是是一種保護使用者介面的組件,主要用於和使用者進行互動。
活動的基本用法
1.建立一個項目項目名為ActivityTest,使用手動建立的方式。
選擇file->android project填寫好項目名和包名等next,不要勾選craete activity這個選項,最後finish
2.建立好包,建立一個類FirstActivity,並繼承Activity
3.重寫onCreate方法,代碼如下所示
@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);}4.建立和載入布局
右擊res/layou目錄new-》android xml file,布局檔案名稱選擇first_layout,選擇線性布局。
代碼如下:
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 1"/></LinearLayout>
5.回到FirstActivity,給活動設定布局,代碼如下:
package com.wj.test;import android.app.Activity;import android.os.Bundle;public class FirstActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.first_layout);}}
注意這裡的R是我們最近建立的包下面的R,android sdk還會自動提供一個android包下面的R檔案,不要弄錯了。
6.註冊活動
<span style="font-size:14px;"><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.wj.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.wj.test.FirstActivity" android:label="this is firstactivity"> <intent-filter > <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest></span>
7.運行你的android項目
運行結果如上
android:label="this is firstactivity"指定活動的標題列,標題列是顯示在活動最頂部的內容。
7.隱藏標題列
使用requestWindowFeature(Window.FEATURE_NO_TITLE);這句隱藏標題列,注意這個一定要在setContentView(R.layout.first_layout);之前使用。requestWindowFeature(Window.FEATURE_NO_TITLE)的意思是不在活動中顯示標題列。
8.在活動中使用Toast
在onCreat裡面添加下面的代碼
Button button1=(Button) findViewById(R.id.button1);button1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(FirstActivity.this, "you clicked button1",Toast.LENGTH_SHORT).show();;}});
Button button1=(Button) findViewById(R.id.button1);擷取布局中定義的元素。返回的是一個view對象
Toast的靜態方法makeText()建立一個Toast對象,然後調用show將Toast顯示出來。makeText()需要三個參數,第一個參數是Context,也就是Context上下文,
第二個參數是常值內容,第三個參數是顯示的時間長度。
9.在活動中使用menu
首先在res目錄下建立一個menu檔案夾,右擊目錄-》new-》folder輸入檔案menu點擊finish,接著在這個檔案夾下在建立一個名叫main的菜單檔案,右擊menu檔案夾--》new--》android xml file。main.xm的代碼如下:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/add_item" android:title="Add"></item> <item android:id="@+id/remove_item" android:title="Remove"></item> </menu>
在重寫onCreateOptionsMenu(Menu menu) 方法
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubgetMenuInflater().inflate(R.menu.main, menu);/** * getMenuInflater()方法能夠得到MenuInflater對象,在調用他的inflate方法就可以給 * 當前活動建立菜單了。inflate方法接收兩個參數,第一個參數用於指定我們通過哪一個資源檔來建立 * 菜單,這裡當然傳入R.menu.main,第二個參數用於指定我們的菜單將添加到哪一個Menu對象中,這裡直接 * 使用onCreateOptionsMenu(Menu menu)傳入的menu參數。然後給這個方法返回true,表。示 * 允許建立的菜單顯示出來,如果返回false,建立的菜單將無法顯示 * */return true;}
為了對菜單進行響應,我們還需重寫onOptionsItemSelected(MenuItem item)方法,代碼如下:
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stub/* * 通過調用item.getItemId()來判斷我們點擊的是哪一個功能表項目。 * */switch(item.getItemId()){case R.id.add_item:Toast.makeText(FirstActivity.this, "you clicked add",Toast.LENGTH_SHORT).show();break;case R.id.remove_item:Toast.makeText(FirstActivity.this, "you clicked add",Toast.LENGTH_SHORT).show();break;default:break;}//return super.onOptionsItemSelected(item);return true;}
運行結果:
10.銷毀一個活動調用finish()方法,比如在button1的監聽函數裡面調用finish()方法就可以關閉activity活動了。
有關activity的知識就先講到這吧,下一篇,我將介紹Intent。
轉載請註明:http://blog.csdn.net/j903829182/article/details/40479181
android學習二(Activity)