Giới thiệu Popup Menu trong lập trình Android

Thảo luận trong 'Game - Ứng dụng' bắt đầu bởi n_erudite, 18/1/16.

Đã xem: 25,394

  1. n_erudite Thành Viên

    Android Popup Menu hiển thị menu bên dưới văn bản neo nếu không gian có sẵn nếu không ở trên các văn bản neo. Nó biến mất nếu bạn nhấp vào bên ngoài popup menu. Các android.widget.PopupMenu là lớp con trực tiếp của lớp java.lang.Object trong học lập trình android

    Ví dụ Android Popup Menu

    Chúng ta hãy xem làm thế nào để tạo popup menu trong android, activity_main.xml

    File: activity_main.xml


    Mã:
    <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="62dp"
    android:layout_marginTop="50dp"
    android:text="Show Popup" />
    
    </RelativeLayout>
    >> Khóa học lập trình php cơ bản tịa hà nội !
    popup_menu.xml chứa ba mục như hiển thị bên dưới. Nó được tạo ra bên trong thư mục res/menu.

    File: poupup_menu.xml
    Mã:
    <menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
    
    <item
    android:id="@+id/one"
    android:title="One"/>
    
    <item
    android:id="@+id/two"
    android:title="Two"/>
    
    <item
    android:id="@+id/three"
    android:title="Three"/>
    
    </menu>

    Lớp Activity

    Nó hiển thị popup menu trên nút bấm.

    File: MainActivity.java
    Mã:
    package com.javatpoint.popupmenu;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.PopupMenu;
    import android.widget.Toast;
    public class MainActivity extends Activity {
    Button button1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new OnClickListener() {
    
    @Override
    public void onClick(View v) {
    //Creating the instance of PopupMenu
    PopupMenu popup = new PopupMenu(MainActivity.this, button1);
    //Inflating the Popup using xml file
    popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
    
    //registering popup with OnMenuItemClickListener
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
    public boolean onMenuItemClick(MenuItem item) {
    Toast.makeText(MainActivity.this,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();
    return true;
    }
    });
    
    popup.show();//showing popup menu
    }
    });//closing the setOnClickListener method
    }
    }
    Kết quả:
    [​IMG]


    ------------------ || ------------------
    Trung tâm Đào tạo hoc photoshop co ban đến Nâng cao tại Vietpro!
     
    Đang tải...
    nam lim xanh

    Bình Luận Bằng Facebook

  2. liennguyen1986 Thành Viên

    Số bài viết: 5
    Đã được thích: 0
    Điểm thành tích: 1
    Cám ơn bạn hướng dẫn rất chi tiết
    Bạn có thể hướng dẫn cái kiểu đè vào màn hình một lúc thì contexxt menu hiện tại chỗ mình đè tay không