一手遮天 Android - view(d出类): PopupMenu 样式

一手遮天 Android - view(d出类): PopupMenu 样式,第1张

概述项目地址https://github.com/webabcd/AndroidDemo作者webabcd一手遮天Android-view(d出类):PopupMenu样式示例如下:/view/flyout/PopupMenuDemo2.java/***PopupMenu-d出式菜单**本例会演示如何自定义PopupMenu的样式*需要通过activity的主题来指定

项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd

一手遮天 AndroID - vIEw(d出类): PopupMenu 样式示例如下:

/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 样式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/999538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存