Page 1 of 1

Android Studio การสร้าง Context Menu ใน Activity

Posted: 11/01/2018 2:56 pm
by Four
การสร้าง Context Menu ใน Activity จะแสดงการเขียนคำสั่งใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml


การเขียนคำสั่งภายใน Class Activity

Code: Select all

package four.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 ( ) เป็น CallBack Method จะทำงานเมื่อผู้ใช้ได้คลิกที่ปุ่ม Menu บนเครื่องและ method onOptionsItemSelected ( ) เป็น CallBack Method จะทำงานเมื่อผู้ใช้ได้เลือก Menu ที่แสดงขึ้นมานั้น


การเขียนคำสั่งภายในไฟล์ XML Layout

Code: Select all

<?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) ซึ่งถูกใช้อ้างอิงใน Class Activity


การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
    <manifest ... >
        <application ... >
            <activity android:name=" test.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 test.me.activity ไว้ภายในไฟล์ AndroidManifest.xml


หน้าจอแสดงผลของ ตัวอย่างการสร้าง Context Menu ใน Activity

Image
จากรูปแสดงหน้าจอของ MainActivity


Image
จากรูปแสดงหน้าจอของ MainActivity เมื่อได้ Click ที่ปุ่ม Menu บน Device


Image
จากรูปแสดงหน้าจอของ MainActivity หลังจากที่ได้เลือก Menu ที่แสดงขึ้นมานั้น


อ้างอิง :
http://www.softmelt.com/article.php?id=117