一手遮天 AndroID - vIEw(d出类): PopupMenu 样式示例如下:项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd
/vIEw/flyout/PopupMenuDemo2.java
/** * PopupMenu - d出式菜单 * * 本例会演示如何自定义 PopupMenu 的样式 * 需要通过 activity 的主题来指定 PopupMenu 的样式,参见 res/values/styles.xml 中的 Mytheme_MyPopupMenuStyle * * 注:如果觉得 PopupMenu 实现不了需求,就用 PopupWindow 吧 */package com.webabcd.androIDdemo.vIEw.flyout;import androIDx.appcompat.app.AppCompatActivity;import androID.os.Bundle;import androIDx.appcompat.Widget.PopupMenu;import androID.vIEw.MenuItem;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.Toast;import com.webabcd.androIDdemo.R;public class PopupMenuDemo2 extends AppCompatActivity { private button mbutton1; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 指定 activity 的主题,用于修改 PopupMenu 的样式 settheme(R.style.Mytheme_MyPopupMenuStyle); setContentVIEw(R.layout.activity_vIEw_flyout_popupmenudemo2); mbutton1 = findVIEwByID(R.ID.button1); sample(); } private voID sample() { mbutton1.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { final PopupMenu popup = new PopupMenu(PopupMenuDemo2.this, mbutton1); popup.getMenuInflater().inflate(R.menu.menu_vIEw_flyout_popupmenudemo2, popup.getMenu()); popup.setonMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @OverrIDe public boolean onMenuItemClick(MenuItem item) { Toast.makeText(PopupMenuDemo2.this, String.format("ID:%d, Title:%s", item.getItemID(), item.getTitle()), Toast.LENGTH_SHORT).show(); // 如果 item 数据来自 xml 的话,则可以通过此方式来判断用户点击的是哪个 item if (item.getItemID() == popup.getMenu().getItem(1).getItemID()) { } return true; } }); popup.show(); } }); }}
/layout/activity_vIEw_flyout_popupmenudemo2.xml
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical"> <button androID:ID="@+ID/button1" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textAllCaps="false" androID:text="d出一个自定义样式的 PopupMenu" /></linearLayout>
/menu/menu_vIEw_flyout_popupmenudemo2.xml
<?xml version="1.0" enCoding="utf-8"?><!-- 用于构造 PopupMenu 的选项数据,参见 vIEw/flyout/PopupMenuDemo2.java--><menu xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:ID="@+ID/item1" androID:title="菜单 1" /> <item androID:ID="@+ID/item2" androID:title="菜单 2" /> <item androID:ID="@+ID/item3" androID:title="菜单 3" /></menu>
总结项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd
以上是内存溢出为你收集整理的一手遮天 Android - view(d出类): PopupMenu 样式全部内容,希望文章能够帮你解决一手遮天 Android - view(d出类): PopupMenu 样式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)