如果有空格,则Android弹出菜单在锚文本下方显示菜单,否则在锚文本上方显示菜单。如果您在弹出菜单之外单击,它将消失。
让无涯教程看看如何在Android中创建弹出菜单。它只包含一个按钮。
<!--?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目录中创建的。
<!--?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>
它显示按钮的弹出菜单单击。
链接:https://www.learnfk.comhttps://www.learnfk.com/android/android-popup-menu-example.html
来源:LearnFk无涯教程网
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 方法 } }
输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)