ตัวอย่างการใช้งาน :: ตัวอย่างการสร้าง Context Menu ใน Activity

ในบทความนี้ จะแสดงให้เห็นถึงตัวอย่างการสร้าง Context Menu ใน Activity โดยจะแสดงให้เห็นถึงการเขียนคำสั่งภายใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml ดังนี้

การเขียนคำสั่งภายใน Class Activity
  • package nutt.me.activity;
  •  
  • import android.app.Activity;
  • import android.os.Bundle;
  • import android.view.Menu;
  • import android.view.MenuItem;
  • import android.widget.TextView;
  •  
  • public class MainActivity extends Activity
  • {
  • protected static int HOME = 900;
  •  
  • protected static int ABOUTUS = 910;
  •  
  • public void onCreate ( Bundle savedInstanceState )
  • {
  • super.onCreate ( savedInstanceState );
  •  
  • this.setContentView ( R.layout.activity_main );
  • }
  •  
  • public boolean onCreateOptionsMenu ( Menu menu )
  • {
  • MenuItem item1 = menu.add ( 0, MainActivity.HOME, Menu.NONE, "Home" );
  •  
  • item1.setIcon ( R.drawable.contentmenu_home );
  •  
  •  
  • MenuItem item2 = menu.add ( 0, MainActivity.ABOUTUS, Menu.NONE, "About US" );
  •  
  • item2.setIcon ( R.drawable.contentmenu_aboutus );
  •  
  •  
  • return super.onCreateOptionsMenu ( menu );
  • }
  •  
  • public boolean onOptionsItemSelected ( MenuItem item )
  • {
  • int itemID = item.getItemId ( );
  •  
  •  
  • if ( itemID == MainActivity.HOME )
  • {
  • TextView label = ( TextView ) this.findViewById ( R.id.label );
  •  
  • label.setText ( "You select Home menu." );
  • }
  • else if ( itemID == MainActivity.ABOUTUS )
  • {
  • TextView label = ( TextView ) this.findViewById ( R.id.label );
  •  
  • label.setText ( "You select About US menu." );
  • }
  •  
  •  
  • return super.onOptionsItemSelected ( item );
  • }
  • }
จากคำสั่งข้างต้น สามารถอธิบายได้ว่า method onCreateOptionsMenu ( ) ในบรรทัดที่ 22 เป็น CallBack Method ที่จะทำงานเมื่อผู้ใช้ได้คลิกที่ปุ่ม Menu บน Device และ method onOptionsItemSelected ( ) ในบรรทัดที่ 37 เป็น CallBack Method ที่จะทำงานเมื่อผู้ใช้ได้เลือก Menu ที่แสดงขึ้นมานั้น

การเขียนคำสั่งภายในไฟล์ XML Layout
  • <?xml version="1.0" encoding="utf-8"?>
  • <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent">
  •  
  • <TextView
  • android:id="@+id/label"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_centerHorizontal="true"
  • android:layout_centerVertical="true"
  • android:text="- Please Select Content Menu -" />
  •  
  • </RelativeLayout>
จากคำสั่งข้างต้น สามารถอธิบายได้ว่า element <TextView> มี id คือ label (ประกาศไว้ในบรรทัดที่ 7) ซึ่งถูกใช้อ้างอิงใน Class Activity ข้างต้น

การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml
  • <?xml version="1.0" encoding="utf-8"?>
  • <manifest ... >
  • <application ... >
  • <activity android:name="nutt.me.activity.MainActivity" ... >
  • <intent-filter>
  • <action android:name="android.intent.action.MAIN" />
  • <category android:name="android.intent.category.LAUNCHER" />
  • </intent-filter>
  • </activity>
  • </application>
  • </manifest>
จากคำสั่งข้างต้น สามารถอธิบายได้ว่า มีการประกาศ Activity ชื่อ MainActivity ที่อยู่ใน Package nutt.me.activity ไว้ภายในไฟล์ AndroidManifest.xml ในบรรทัดที่ 4

หน้าจอแสดงผลของ ตัวอย่างการสร้าง Context Menu ใน Activity จากการเขียนคำสั่งข้างต้น
หน้าจอแสดงผลของ ตัวอย่างการสร้าง Context Menu ใน Activity
จากรูปแสดงหน้าจอของ MainActivity
หน้าจอแสดงผลของ ตัวอย่างการสร้าง Context Menu ใน Activity
จากรูปแสดงหน้าจอของ MainActivity เมื่อได้ Click ที่ปุ่ม Menu บน Device
หน้าจอแสดงผลของ ตัวอย่างการสร้าง Context Menu ใน Activity
จากรูปแสดงหน้าจอของ MainActivity หลังจากที่ได้เลือก Menu ที่แสดงขึ้นมานั้น

0 ความคิดเห็น:

Copyright © 2012 DroidDevp.