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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: Android Studio การสร้าง Context Menu ใน Activity

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

ข้างบน