Android - Popup Menu

Android - Popup Menu 首页 / Android入门教程 / Android - Popup Menu

如果有空格,则Android弹出菜单在锚文本下方显示菜单,否则在锚文本上方显示菜单。如果您在弹出菜单之外单击,它将消失。

弹出菜单示例

让无涯教程看看如何在Android中创建弹出菜单。它只包含一个按钮。

File: activity_main.xml
<!--?xml version="1.0" encoding="utf-8"?-->
<android.support.constraint.constraintlayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.learnfk.com.popupmenu.MainActivity">
    <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button" android:text="Click" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintleft_toleftof="parent" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent"></button>
</android.support.constraint.constraintlayout>

它包含三个项目,如下所示。它是在res/menu目录中创建的。

File: poupup_menu.xml
<!--?xml version="1.0" encoding="utf-8"?-->
<menu
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/one" android:title="One"></item>
    <item android:id="@+id/two" android:title="Two"></item>
    <item android:id="@+id/three" android:title="Three"></item>
</menu>

它显示按钮的弹出菜单单击。

无涯教程网

File: MainActivity.java
package example.learnfk.com.popupmenu;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //创建 PopupMenu 的实例
                PopupMenu popup = new PopupMenu(MainActivity.this, button);
                //使用 xml 文件弹出窗口
                popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

                //使用 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();//显示弹出菜单
            }
        });//关闭 setOnClickListener 方法
    }
}

输出:

android popup menu example output 1android popup menu example output 2android popup menu example output 3

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

白话法律42讲 -〔周甲徳〕

深入浅出计算机组成原理 -〔徐文浩〕

SQL必知必会 -〔陈旸〕

Kafka核心源码解读 -〔胡夕〕

MySQL 必知必会 -〔朱晓峰〕

Spark性能调优实战 -〔吴磊〕

攻克视频技术 -〔李江〕

大厂广告产品心法 -〔郭谊〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)