zoukankan      html  css  js  c++  java
  • 【Android】5.6 弹出菜单(PopUp Menus)

    分类:C#、Android、VS2015;

    创建日期:2016-02-07

    一、简介

    功能描述:用户单击按钮弹出菜单。当用户选择一个菜单项,会触发MenuItemClick事件并让弹出的菜单消失;如果用户在菜单外单击,则直接消失弹出的菜单。当菜单消失时,会引发DismissEvent事件(利用此事件可在菜单消失时做一些后续处理)。

    二、示例7-- Demo07PopupMenu

    1、运行效果

    image image

    2、添加菜单项

    在Resources文件夹下添加一个menu子文件夹,然后在此子文件夹下添加一个名为demo07_popup_menu.xml的文件:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:id="@+id/item1"
              android:title="item 1" />    
        <item android:id="@+id/item1"
              android:title="item 2" />  
        <item android:id="@+id/item1"
              android:title="item 3" />
    </menu>

    3、添加demo07_PopupMenu.axml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <Button
            android:id="@+id/popupButton"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/showPopup" />
    </LinearLayout>

    保存所有文件。

    4、添加Demo07PopupMenu.cs

    using Android.App;
    using Android.OS;
    using Android.Widget;
    
    namespace ch05demos.SrcActivity
    {
        [Activity(Label = "Demo07PopupMenu")]
        public class Demo07PopupMenu : Activity
        {
            protected override void OnCreate(Bundle savedInstanceState)
            {
                base.OnCreate(savedInstanceState);
                SetContentView(Resource.Layout.demo07_Popup);
    
                Button btn = FindViewById<Button>(Resource.Id.popupButton);
                btn.Click += (s, arg) =>
                {
                    PopupMenu menu = new PopupMenu(this, btn);
                    menu.Inflate(Resource.Menu.demo07_popup_menu);
                    menu.MenuItemClick += (sender, args) =>
                    {
                        string str = string.Format("你选择了:{0}", args.Item);
                        Toast.MakeText(this,str, ToastLength.Short).Show();
                    };
                    menu.DismissEvent += (sender, args) =>
                    {
                        //菜单消失后可在此事件中做一些后续处理
                    };
                    menu.Show();
                };
            }
        }
    }

    运行观察效果。

  • 相关阅读:
    反射
    注解
    file
    exception(异常)
    MySQL问题
    maven 中 遇到的问题
    Java读取文本数字
    人民币-欧元预测(ARIMA算法)代码
    云平台项目--学习经验--jsrender前端渲染模板
    云平台项目--学习经验--BootstrapValidate表单验证插件
  • 原文地址:https://www.cnblogs.com/rainmj/p/5184557.html
Copyright © 2011-2022 走看看