PopupMenu

package zhangphil.materialdesign; 

import android.app.Activity;
import android.os.Bundle;
import android.support.v.widget.PopupMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; 
public class MainActivity extends Activity { 
@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); 
    final Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() { 
     @Override
      public void onClick(View v) {
        showPopupMenu(button);
      }
    });
  
  private void showPopupMenu(View view) {
    // View当前PopupMenu显示的相对View的位置
    PopupMenu popupMenu = new PopupMenu(this, view); 
    // menu布局
    popupMenu.getMenuInflater().inflate(R.menu.main, popupMenu.getMenu()); 
    // menu的item点击事件
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
      @Override
      public boolean onMenuItemClick(MenuItem item) {
        Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT).show();
        return false;
      }
    }); 
     // PopupMenu关闭事件
    popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
       @Override
       public void onDismiss(PopupMenu menu) {
         Toast.makeText(getApplicationContext(), "关闭PopupMenu", Toast.LENGTH_SHORT).show();
      }
     });
   
     popupMenu.show();
   }
}
 
 
 
 
 
 
 
 
 
<menu xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" >
   <item
     android:id="@+id/action_open"
     android:orderInCategory="
     android:title="打开"
     app:showAsAction="never"/>
  <item
    android:id="@+id/action_new"
    android:orderInCategory="
    android:title="新建"
    app:showAsAction="never"/>
  <item
    android:id="@+id/action_del"
    android:orderInCategory="
    android:title="删除"
     app:showAsAction="never"/>
 </menu>

posted on 2021-08-16 15:14  带镐伤的土豆  阅读(86)  评论(0编辑  收藏  举报

导航