android控件Menu,Dialog,ImageView,ImageButton

  次阅读 作者:智能小宝 来源:互联网 2015-10-13 07:34 我要评论(0)

一、 按钮(Button)

按钮控件已经在之前的例子学习中使用到,主要的是一个setOnClickListener事件。

二、 菜单(Menu)

一般 Android手机都有menu这个按键来显示相应的菜单,实现菜单效果,需要通过onCreateOptionsMenu来实现,然后对其事件进行相关的监听来实现不同任务,可以通过两种方式来实现:

1. 通过XML布局实现;

2. 通过Menu.add方法实现

实例分析:通过上面两种方式来实现菜单效果,main.xml使用XML布局方式实现,main2.xml使用Menu.add方法实现。

1. 通过XML布局:

首先需要在res目录下建立menu文件夹,并且在该目录下建立menu.xml文件,在该文件中创建需要的菜单。

源码打印?

然后对应的Activity01重写onCreateOptionsMenu方法来装载这个menu文件

源码打印?

//创建menu

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = this.getMenuInflater();

//设置menu界面为res/menu/menu.xml

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

return true;

}

最后可以加上对菜单按钮事件的监听

源码打印?

//处理菜单事件

public boolean onOptionsItemSelected(MenuItem item) {

// TODO Auto-generated method stub

//得到当前选中得MenuItem的ID

int item_id = item.getItemId();

switch(item_id){

case R.id.about:

//新建一个Intent对象,Intent的使用参考

Intent intent = new Intent();

//指定intent要启动的类

intent.setClass(Examples_04_13Activity.this, Examples_04_13Activity02.class);

//启动一个新的Activity

startActivity(intent);

//关闭当前的Activity

Examples_04_13Activity.this.finish();

break;

case R.id.exit:

Examples_04_13Activity.this.finish();

break;

}

return true;

}

【扩展点】:关于Intent的理解与使用

Intent 是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯。比如说调用startActivity()来启动一个activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver, 再或者由startService()/bindservice()来启动一个后台的service.所以可以看出来,intent主要是用来启动其他的activity 或者service,所以可以将intent理解成activity之间的粘合剂。

可以参考该文章http://wenku.baidu.com/view/76db47858762caaedd33d452.html

2 通过Menu.add方法:

即在onCreateOptionsMenu方法中通过menu.add方法进行添加,如;

源码打印?

public boolean onCreateOptionsMenu(Menu menu) {

//为menu添加内容

menu.add(0, 0, 0, R.string.ok);

menu.add(0, 0, 1, R.string.back);

return true;

}

实例效果:左图为第一种实现方式,右图为第二种实现方式

\

\

三、 对话框(Dialog)

实现对话框效果,主要是使用AlertDialog.Builder类,还可以自定义对话框。

实例关键源码分析:

源码打印?

Dialog dialog = new AlertDialog.Builder(Examples_04_14Activity.this)

.setTitle("登陆提示")//设置标题

.setMessage("这里需要登陆!")//设置内容

.setPositiveButton("确定", //设置确定按钮

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

//点击确定转向登陆框

LayoutInflater factory = LayoutInflater.from(Examples_04_14Activity.this);

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...