今天看到群里的朋友问怎么按下返回键的时候提示信息,百度了下,就参考网上一个java版示例做了.没啥技术含量,就权当丰富下mono for android的小代码.

直接在mono新建的APP上修改的.

写个MessageBox类,负责提示各种消息.

showTips方法用来提示信息.

public override bool OnKeyDown重写了OnKeyDown方法.有空的朋友可以做漂亮点,我就懒得弄了,能看懂就行了.本人菜鸟,如果写的不对,请斧正.谢谢.

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS; namespace AndroidApplication1
{
[Activity(Label = "AndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
int count = ; protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle); // Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main); // Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton); button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
}
public class MessageBox
{
public static void Show(Context ctx, string title, string message)
{
AlertDialog.Builder dlg = new AlertDialog.Builder(ctx);
dlg.SetTitle(title);
dlg.SetMessage(message);
dlg.SetPositiveButton("确定", delegate { });
dlg.Show();
}
public static void ShowErrorMessage(Context ctx, Exception ex)
{
Show(ctx, "错误", ex.Message);
}
} private void showTips()
{ AlertDialog alertDialog = new AlertDialog.Builder(this)
.SetTitle("退出程序,嘿嘿")
.SetMessage("是否退出程序,嘿嘿")
.SetPositiveButton("确定,嘿嘿", delegate { MessageBox.Show(this, "提示", "恭喜你点确定了,不退出"); }).SetNegativeButton("取消", delegate { MessageBox.Show(this, "提示", "恭喜你点取消"); }).Show();//不退出,如果要退出就增加Finish();
//.SetPositiveButton("确定,嘿嘿", delegate { MessageBox.Show(this, "提示", "恭喜你点确定了,退出");Finish(); }).SetNegativeButton("取消", delegate { MessageBox.Show(this, "提示", "恭喜你点取消"); }).Show();
#region //注释的代码是java版
// private void showTips() {
// AlertDialog alertDialog = new AlertDialog.Builder(this)
// .setTitle("退出程序").setMessage("是否退出程序")
// .setPositiveButton("确定", new DialogInterface.OnClickListener()
// {
// public void onClick(DialogInterface dialog, int which)
// {
// finish();
// }
// }).setNegativeButton("取消",
// new DialogInterface.OnClickListener()
// {
// public void onClick(DialogInterface dialog, int which)
// {
// return;
// }
// }).create(); // 创建对话框
// alertDialog.show(); // 显示对话框
//}
#endregion
}
public override bool OnKeyDown(Keycode keyCode, KeyEvent events)
{
if (keyCode == Keycode.Back)//判断按下的键是否返回键
{
showTips();
return true;
}
else return base.OnKeyDown(keyCode, events);//如果不是返回键,则调用原OnKeyDown方法
#region //注释的代码是java版
//public boolean onKeyDown(int keyCode, KeyEvent event)
//{
// if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
// {
// showTips();
// return false;
// }
// return super.onKeyDown(keyCode, event);
//}
#endregion
}
}
}

代码下载:http://www.400gb.com/file/26907128

java翻译到mono C#实现系列(1) 重写返回键按下的事件的更多相关文章

  1. java翻译到mono C#实现系列(4) 利用CountDownTimer类实现倒计时功能 mono版

    群里的朋友问利用CountDownTimer类实现倒计时功能怎么实现,我就百度了,参考http://blog.csdn.net/qq344429461/article/details/7521361写 ...

  2. java翻译到mono C#实现系列(3) 获取手机设备信息(残缺,)

    using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; ...

  3. java翻译到mono C#实现系列(2) mono实现GridView 横向滚动

    群里的朋友问GridView 横向滚动怎么实现,我就百度了,参考http://blog.csdn.net/lonely_fireworks/article/details/7841134写了个mono ...

  4. Android应用系列:双击返回键退出程序

    前言 有一个很古老的应用技巧,一直被各种大大小小的app用得乐此不疲,那就是双击返回键退出程序.今天就写写它的实现代码,非常简单而且实用. 正文 双击返回键退出程序,一般有两种实现思路,一种是用一个布 ...

  5. Java并发包源码学习系列:阻塞队列BlockingQueue及实现原理分析

    目录 本篇要点 什么是阻塞队列 阻塞队列提供的方法 阻塞队列的七种实现 TransferQueue和BlockingQueue的区别 1.ArrayBlockingQueue 2.LinkedBloc ...

  6. [翻译svg教程]svg学习系列 开篇

    目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...

  7. java从入门到卖肠粉系列

    java从入门到卖肠粉系列 注:本教程只是从JAVA基础开始,绝对不会跟公司有任何利益冲突,更不会出现一行公司项目的代码 QQ群:9547527 推荐用土豆,百度去上传太慢,百度云在线播放还要转码.. ...

  8. 【java集合框架源码剖析系列】java源码剖析之TreeSet

    本博客将从源码的角度带领大家学习TreeSet相关的知识. 一TreeSet类的定义: public class TreeSet<E> extends AbstractSet<E&g ...

  9. 【java集合框架源码剖析系列】java源码剖析之HashSet

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...

随机推荐

  1. BCD码转换为十进制或者十进制转为BCD码

    BCD码其实就是之前在数字电路中说的 用4位二进制数值 来表示一个0-9中的数字,例如: 0000=0 0001=1 0010=2 0011=3也就是说如果把一个数字作为一个BCD码,例如: 11 2 ...

  2. Kinect相机位姿

    可以直接得到吧 还是要反求 pose.txt 里面一共有5个七参数.正好对应5幅图片.

  3. 团队-Forward-团队一阶段互评

    学号:2015035107105得分:4原因:代码不规范,有一些错误,需要我们的帮助. 学号:2015035107109得分:7原因:与队员沟通少,代码衔接有问题. 学号:2015035107113得 ...

  4. 企业搜索引擎开发之连接器connector(二十七)

    ChangeQueue类实现ChangeSource接口,声明了拉取下一条Change对象的方法 * A source of {@link Change} objects. * * @since 2. ...

  5. polymer-developer guide-registration and lifecycle

    注册和声明周期 my = Polymer({ is: "proto-element", created: function() { this.innerHTML = 'create ...

  6. [label][OS] 制作 U 盘安装 Windows 7

    U盘安装完美的WIN7操作系统教程 [编辑] 请使用正版系统   http://item.jd.com/965031.html   以保证您的电脑信息安全 此教程适用与 win7及win8 准备工作 ...

  7. spring+quartz的任务调度

    公司网站有个功能是自动投标,还有定时更新用户的排名信息,这些都是spring+quartz实现的. 手机了一些资料,做一个小demo,加深理解,记录一下,以后使用的时候不会出什么问题. 需要的包,主要 ...

  8. pipeline构建时报错问题解决

    问题: 1.No such field found: field java.lang.String sh. Administrators can decide whether to approve o ...

  9. cesium编程入门(九)实体 Entity

    cesium编程入门(九)实体 Entity 在cesium编程入门(五)绘制形状提到过添加实体的方法,这一节聊一聊实体相关的一些内容: 先来看 Entity 的各个属性 id 唯一标志,如果没设置, ...

  10. Python3.5 学习二

    模块/库: Python的强大在于丰富的各种库的存在. 用import方法导入的  分为标准库.第三方库 程序运行时会先从当前目录下寻找import的模块名的文件,如果没有,则去全局环境变量对应的路径 ...