版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【移動應用開發(fā)技術】Android仿微信菜單使用C#和Java分別實現(xiàn)的案例
在下給大家分享一下Android仿微信菜單使用C#和Java分別實現(xiàn)的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!本篇是對安卓菜單使用編程方式實現(xiàn),當然可以使用XML的方式完成同樣的功能,基本Java和C#寫法都是一致的,所以使用XML的方式在本篇中使用Java演示,需要注意的是,對于如果不是VS開發(fā)的話,那么資源文件名稱必須以小寫開頭,否則會報錯。運行效果C#實現(xiàn)using
Android.App;
using
Android.OS;
using
Android.Views;
using
Android.Widget;
namespace
MenuDemo
{
[Activity(Label
=
"@string/ApplicationName",
MainLauncher
=
true,
Icon
=
"@drawable/Icon")]
public
class
MainActivity
:
Activity
{
protected
override
void
OnCreate(Bundle
bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var
iv
=
FindViewById<ImageView>(Resource.Id.iv);
iv.SetImageResource(Resource.Drawable.test);
RegisterForContextMenu(iv);
}
//與一個活動關聯(lián)
public
override
bool
OnCreateOptionsMenu(IMenu
menu)
{
base.OnCreateOptionsMenu(menu);
const
int
menuItemId
=
Menu.First;
const
int
menuItemOrder
=
Menu.None;
const
int
munuItemText
=
Resource.String.menuItem1;
/*
*
第一個參數(shù):組值
*
第二個參數(shù):菜單唯一標示
*
第三個參數(shù):順序參數(shù)
*
第四個參數(shù):文本
*/
menu.Add(1,
menuItemId,
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(true);
subMenuItem2.SetIcon(Resource.Drawable.blue);
subMenu.Add(0,
menuItemId
+
60,
menuItemOrder
+
6,
"子菜單-3"
).SetCheckable(true);
return
true;
}
public
override
bool
OnOptionsItemSelected(IMenuItem
item)
{
Toast.MakeText(this,
"當前菜單編號"
+
item.ItemId,
ToastLength.Long).Show();
return
base.OnOptionsItemSelected(item);
}
public
override
void
OnCreateContextMenu(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");
var
subMenu
=
menu.AddSubMenu("子菜單");
subMenu.Add("子菜單選項");
}
}
}Layout<?xml
version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/iv"
/>
</LinearLayout>運行效果Java實現(xiàn)package
com.example.halower.menudemo;
import
android.app.Activity;
import
android.os.Bundle;
import
android.view.ContextMenu;
import
android.view.MenuInflater;
import
android.view.View;
import
android.widget.ImageView;
public
class
MainActivity
extends
Activity
{
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView
iv=(ImageView)findViewById(R.id.iamgeView);
iv.setImageResource(R.drawable.test);
registerForContextMenu(iv);
}
@Override
public
void
onCreateContextMenu(ContextMenu
menu,
View
v,
ContextMenu.ContextMenuInfo
menuInfo)
{
super.onCreateContextMenu(menu,
v,
menuInfo);
MenuInflater
inflater=new
MenuInflater(this);
inflater.inflate(R.menu.menu_main,menu);
menu.setHeaderIcon(R.drawable.blue);
menu.setHeaderTitle(R.string.menuTitle);
}
}Layout<?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="
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年耕地租賃合同
- 廣告設備購銷合同2024年
- 合伙企業(yè)協(xié)議格式
- 房地產代理銷售協(xié)議書2024年
- 服裝制造商合作合同
- 2024年二手房屋買賣合同范例
- 擔保合作協(xié)議填寫指南
- 合伙餐館協(xié)議書樣本專業(yè)
- 裝修預算合同范本2024年
- 2024設備搬遷運輸合同
- 浙江省杭州市十三中教育集團2024-2025學年七年級上學期期中科學試題(無答案)
- 100MWp戶用光伏發(fā)電EPC總承包 投標方案(技術方案)
- 《中國心力衰竭診斷和治療指南2024》解讀
- 店鋪門面轉讓合同協(xié)議書2024年
- DL∕T 618-2022 氣體絕緣金屬封閉開關設備現(xiàn)場交接試驗規(guī)程
- 人民陪審員職業(yè)道德、司法禮儀及庭審紀律培訓
- 2024年云南呈貢區(qū)城投集團招聘筆試參考題庫含答案解析
- 2024年陜西陜文投集團招聘筆試參考題庫含答案解析
- 大學生職業(yè)生涯規(guī)劃(師范類)
- 溝槽回填施工方案(完整版)
- 2021-2025鄉(xiāng)村5年規(guī)劃三篇
評論
0/150
提交評論