android - 如何实现下图中提供的类似 facebook 的弹出窗口?尝试使用警报对话框
问题描述
我想要一个像这样的弹出窗口是 facebook
大家好, 上面是您可以看到一个弹出按钮的图像。我尝试使用 AleartDialog 实现此目的,但它在中心打开。我只想要它在那个按钮下面。
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.layout_show_options, null);
new AlertDialog.Builder(this)
.setView(view)
.create().show();
任何帮助,将不胜感激。谢谢
解决方案
在您的按钮上使用弹出菜单打开菜单单击 menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/mail"
android:icon="@drawable/ic_mail"
android:title="@string/mail" />
<item android:id="@+id/upload"
android:icon="@drawable/ic_upload"
android:title="@string/upload"
android:showAsAction="ifRoom" />
<item android:id="@+id/share"
android:icon="@drawable/ic_share"
android:title="@string/share" />
</menu>
Java 代码:
public void showMenu(View v) {
PopupMenu popup = new PopupMenu(this, v);
popup.setOnMenuItemClickListener(this);
popup.inflate(R.menu.actions);
popup.show();
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.archive:
archive(item);
return true;
case R.id.delete:
delete(item);
return true;
default:
return false;
}
}
推荐阅读
- c++ - 来自可变类型名模板和重载的数据成员
- system.text.json - System.Text.Json JsonConverter 与工厂
- javascript - 升级到 v13 时 Discord.js v12 代码中断
- python - Django注释聚合方法列表
- node.js - AADSTS90014:凭据中缺少必填字段“请求”
- ajax - 为什么我的href URL中添加了参数Xd_co_f参数
- git - Git rebase 同时处理功能远程分支困境
- docker - Docker OOM:守护进程应该杀死整个容器而不是随机进程
- json - POSTMAN - 将 GraphQL 转换为 JSON 请求返回错误
- python - min 函数中的这个 for 循环有什么作用?