博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Xamarin] 製作Options Menu、Intent 呼叫網址和Market (转帖)
阅读量:5326 次
发布时间:2019-06-14

本文共 1748 字,大约阅读时间需要 5 分钟。

Android的設計如果沒意外的話通常有三棵按鈕,BACK,HOME,OPTION

(圖片來源:)

在OPTION鍵按下後會出現象是下圖的選單

(圖片來源:)

這設計在iOS 上面目前是沒有的,但是在Windows Phone上面有類似的東西叫做App Bar,但是並非由實體鍵盤呼叫,而是透過APP下方的三個小點

(圖片來源:)

這一篇我們來討論一下,如何來透過C# + Xamarin 來作到Android 下的 Options Menu 介紹一下Sample : 按下實體鍵盤的OPTION鍵之後,會出現一個OptionMenu上面只有一個就是選擇按鈕.

.

點選選擇按鈕之後就會出現兩個選擇使用者決定行為分別為

按下第一個(開啟當麻許的超技八)就會打開Android系統設定的瀏覽器開啟我的網誌,

按下第二個就會開啟Market上的愛料理的下載,接下來我們來看看怎麼實作

1.首先,我們採取比較偷懶且簡單的方法就是使用Layout敘述來幫忙,

我們在專案的  Resources下建立一個Menu的檔案夾並且我在建立一個檔案叫做OptionMenu.xml 如下圖:

再來我們來看看這xml檔案敘述啥內容

 
android:title="選擇動作" >
 
android:title="開啟當麻許的超技八" />
 
android:title="開啟Market上的愛料理" />
 
 
 
 

我建立一個Menu下有一個Item為'選擇動作'  其底下還有一個Menu裡面有兩個item 就這巢狀結構決定於階層的方式

2.接下來,我們看看在主要的Activity 上面如何將OptionMenu呼叫出來並且決定被選取後的行為,我們先得覆寫在 Activity中 OnCreateOptionsMenu 的事件,讓他建立起OpetionMenu

public override bool OnCreateOptionsMenu(IMenu menu)
{
//將Resoirces下的Menu/OptionMenu.xml 載入
MenuInflater.Inflate(Resource.Menu.OptionMenu, menu);
return true;
}

再來就是選單點下去的後的行為

public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
//如果選取的是 開啟當麻許的超技八
case Resource.Id.itemMenu1:
Toast.MakeText(this, "開啟當麻許的超技八", ToastLength.Short).Show();
//開啟一個Inetnt 並且將此呼叫起來
StartActivity(new Intent(Intent.ActionView, Android.Net.Uri.Parse("http://no2don.blogspot.com")));
return true;
//如果選取的是 開啟Market的愛料理 Download
case Resource.Id.itemMenu2:
Toast.MakeText(this, "開啟Market的愛料理 Download", ToastLength.Short).Show();
//開啟一個Inetnt 並且將此呼叫起來
StartActivity(new Intent(Intent.ActionView, Android.Net.Uri.Parse("market://details?id=" + "com.polydice.icook")));
return true;
default:
return base.OnOptionsItemSelected(item);
}
}

其中如果只是拿來用Toast 顯示一些文字也太無聊,所以決定就用 Intent 呼叫起Market 還有一個網址 結果:

 

 

Reference:

 

 

转载于:https://www.cnblogs.com/whatthehell/p/3444748.html

你可能感兴趣的文章
selenium-滚动
查看>>
allure测试报告
查看>>
Python-selenium显示等待
查看>>
win安装appium
查看>>
Python-selenium:鼠标键盘事件
查看>>
Ubuntu18.04中安装virtualenv和virtualenvwrapper
查看>>
selenium-绕过登录
查看>>
read from and write to file
查看>>
下载文件,blob方式
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
Amcharts 柱状图和线形图
查看>>
APC注入
查看>>
关于ES6 Class语法相关总结
查看>>
构建之法阅读笔记三—结对编程
查看>>
css中 background:0 0;
查看>>
springboot(运行原理参考借鉴)
查看>>
Linux下安装、配置、启动Apache
查看>>
文件处理
查看>>
iOS NSURLSession 指南
查看>>
Visual C++ 2010创建Ribbon界面
查看>>