分享
 
 
 

Android-Menu[使用C#AndJava实现]

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: |||超大  

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

运行效果

C#实现usingAndroid.App;usingAndroid.OS;usingAndroid.Views;usingAndroid.Widget;namespaceMenuDemo

{

[Activity(Label="@string/applicationName", MainLauncher =true, Icon ="@drawable/Icon")]publicclassMainActivity : Activity

{PRotectedoverridevoidOnCreate(Bundle bundle)

{base.OnCreate(bundle);

SetContentView(Resource.Layout.Main);variv = FindViewById<ImageView>(Resource.Id.iv);

iv.SetImageResource(Resource.Drawable.test);

RegisterForContextMenu(iv);

}//与一个活动关联publicoverrideboolOnCreateOptionsMenu(IMenu menu)

{base.OnCreateOptionsMenu(menu);constintmenuItemId =Menu.First;constintmenuItemOrder =Menu.None;constintmunuItemText =Resource.String.menuItem1;/** 第一个参数:组值

* 第二个参数:菜单唯一标示

* 第三个参数:顺序参数

* 第四个参数:文本*/menu.Add(1, menuItemId, menuItemOrder, munuItemText);

menu.Add(2, menuItemId +10, menuItemOrder +1,"菜单2");

menu.Add(2, menuItemId +20, menuItemOrder +2,"菜单3");varsubMenu = menu.AddSubMenu(0, menuItemId +30, menuItemOrder +3,"子菜单");

subMenu.SetHeaderIcon(Resource.Drawable.more);varsubMenuItem1 = subMenu.Add(0, menuItemId +40, menuItemOrder +4,"子菜单-1");

subMenuItem1.SetIcon(Resource.Drawable.more);varsubMenuItem2 = subMenu.Add(0, menuItemId +50, menuItemOrder +5,"子菜单-2").SetCheckable(true);

subMenuItem2.SetIcon(Resource.Drawable.blue);

subMenu.Add(0, menuItemId +60, menuItemOrder +6,"子菜单-3").SetCheckable(true);returntrue;

}publicoverrideboolOnOptionsItemSelected(IMenuItem item)

{

Toast.MakeText(this,"当前菜单编号"+item.ItemId, ToastLength.Long).Show();returnbase.OnOptionsItemSelected(item);

}publicoverridevoidOnCreateContextMenu(IContextMenu menu, View v, IContextMenuContextMenuInfo menuInfo)

{base.OnCreateContextMenu(menu, 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('2','B');

menu.Add(0, Menu.First +2, Menu.None,"菜单3");varsubMenu = menu.AddSubMenu("子菜单");

subMenu.Add("子菜单选项");

}

}

}

Layout<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:minWidth="25px"android:minHeight="25px"><ImageViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/iv"/></LinearLayout>

运行效果

Java实现packagecom.example.halower.menudemo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.ContextMenu;importandroid.view.MenuInflater;importandroid.view.View;importandroid.widget.ImageView;publicclassMainActivityextendsActivity {

@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ImageView iv=(ImageView)findViewById(R.id.iamgeView);

iv.setImageResource(R.drawable.test);

registerForContextMenu(iv);

}

@OverridepublicvoidonCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);

MenuInflater inflater=newMenuInflater(this);

inflater.inflate(R.menu.menu_main,menu);

menu.setHeaderIcon(R.drawable.blue);

menu.setHeaderTitle(R.string.menuTitle);

}

}

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">MenuDemo</string>

<string name="action_settings">Settings</string>

<string name="item1Name" >菜单1</string>

<string name="item2Name" >菜单2</string>

<string name="item3Name" >菜单3--More</string>

<string name="item4Name" >菜单4</string>

<string name="menuTitle">XML中解析菜单</string>

<string name="subitem1Name">子菜单1</string>

<string name="subitem2Name">子菜单2</string>

</resources>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有