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

Mobile Application Developing- Android, iOS, Window Phone สอนเขียนโปรแกรมบนมือถือ ระบบปฏิบัติการต่าง แอนดรอยด์ ไอโอเอส วินโดโฟน สอนเขียนโปรแกรมบนมือถือ

Moderator: mindphp, ผู้ดูแลกระดาน

Four
PHP Super Member
PHP Super Member
โพสต์: 407
ลงทะเบียนเมื่อ: 08/01/2018 9:55 am

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

โพสต์โดย Four » 11/01/2018 2:56 pm

การสร้าง Context Menu ใน Activity จะแสดงการเขียนคำสั่งใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml


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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

<?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

โค้ด: เลือกทั้งหมด

<?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

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


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


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


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

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 3 และ บุคคลทั่วไป 0 ท่าน