Android仿微信菜单使用c#和Java分别实现的案例

  介绍

小编给大家分享一下安卓仿微信菜单使用c#和Java分别实现的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

本篇是对安卓菜单使用编程方式实现,当然可以使用XML的方式完成同样的功能,基本Java和c#写法都是一致的,所以使用XML的方式在本篇中使用Java演示,需要注意的是,对于如果不是VS开发的话,那么资源文件名称必须以小写开头,否则会报错。

<强>运行效果
 Android仿微信菜单使用c#和Java分别实现的案例

<强> c#实现

using  Android.App;   using  Android.OS;   using  Android.Views;   using  Android.Widget;   namespace  MenuDemo   {   [活动才能(Label =,“@string/ApplicationName",, MainLauncher =,真的,,Icon =,“@drawable/Icon"))   public 才能class  MainActivity :活动   {才能   ,,,protected  override  void  OnCreate (Bundle 包)   ,,,{   ,,,,,base.OnCreate(包);      ,,,,,SetContentView (Resource.Layout.Main);   ,,,,,var  iv =, FindViewById (Resource.Id.iv);   ,,,,,iv.SetImageResource (Resource.Drawable.test);   ,,,,,RegisterForContextMenu (iv);   ,,,}   ,,,//与一个活动关联   ,,,public  override  bool  OnCreateOptionsMenu (IMenu 菜单)   ,,,{   ,,,,,base.OnCreateOptionsMenu(菜单);   ,,,,,const  int  menuItemId =, Menu.First;   ,,,,,const  int  menuItemOrder =, Menu.None;   ,,,,,const  int  munuItemText =, Resource.String.menuItem1;   ,,,,/*   ,,,,,,*,第一个参数:组值   ,,,,,,*,第二个参数:菜单唯一标示   ,,,,,,*,第三个参数:顺序参数   ,,,,,,*,第四个参数:文本   ,,,,,*/,,,,,menu.Add (menuItemId, 1,还以为,menuItemOrder, munuItemText);   ,,,,,menu.Add (2, menuItemId  +, 10日,menuItemOrder  +, 1,“菜单2“);   ,,,,,menu.Add (2, menuItemId  +, 20日,menuItemOrder  +, 2,“菜单3“,);   ,,,,,var  subMenu =, menu.AddSubMenu (0,, menuItemId  +, 30日,menuItemOrder  +, 3,“子菜单“,);   ,,,,,subMenu.SetHeaderIcon (Resource.Drawable.more);   ,,,,,var  subMenuItem1 =, subMenu.Add (0,, menuItemId  +, 40岁,menuItemOrder  +, 4,“子菜单1“,);   ,,,,,subMenuItem1.SetIcon (Resource.Drawable.more);   ,,,,,var  subMenuItem2 =, subMenu.Add (0,, menuItemId  +, 50岁,menuItemOrder  +, 5,“子菜单2“,).SetCheckable(真正的);   ,,,,,subMenuItem2.SetIcon (Resource.Drawable.blue);   ,,,,,subMenu.Add (0,, menuItemId  +, 60岁,menuItemOrder  +, 6日,“子菜单3“,).SetCheckable(真正的);   ,,,,,return 真实;   ,,,}      ,,,public  override  bool  OnOptionsItemSelected (IMenuItem 项目)   ,,,{   ,,,,,Toast.MakeText(,,“当前菜单编号“,+,item.ItemId,, ToastLength.Long),告诉();   ,,,,,return  base.OnOptionsItemSelected(项);   ,,,}   ,,,public  override  void  OnCreateContextMenu (IContextMenu 菜单,View  v, IContextMenuContextMenuInfo  menuInfo)   ,,,{   ,,,,,base.OnCreateContextMenu (v,菜单,还以为;menuInfo);   ,,,,,menu.SetHeaderTitle(“上下文菜单“);   ,,,,,menu.SetHeaderIcon (Resource.Drawable.blue);   ,,,,,menu.Add (0,, Menu.First,, Menu.None,,“菜单1“);   ,,,,,menu.Add (0,, Menu.First + 1, Menu.None,,“菜单2“).SetShortcut (& # 39; 2 & # 39; & # 39; b # 39;);   ,,,,,menu.Add (0,, Menu.First  +, 2, Menu.None,,“菜单3“);   ,,,,,var  subMenu =, menu.AddSubMenu(“子菜单“);   ,,,,,subMenu.Add(“子菜单选项“);   ,,,}   ,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android仿微信菜单使用c#和Java分别实现的案例