ตัวอย่างการใช้งาน :: ตัวอย่างการสร้าง 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 จากการเขียนคำสั่งข้างต้น
จากรูปแสดงหน้าจอของ MainActivity
จากรูปแสดงหน้าจอของ MainActivity เมื่อได้ Click ที่ปุ่ม Menu บน Device
จากรูปแสดงหน้าจอของ MainActivity หลังจากที่ได้เลือก Menu ที่แสดงขึ้นมานั้น
0 ความคิดเห็น: