android學習二(Activity)

來源:互聯網
上載者:User

標籤: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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.