Android学习笔记5:探究活动2
来源:互联网 发布:大数据云气象阅读答案 编辑:程序博客网 时间:2024/05/16 16:20
《第一行代码——Android》郭霖著
在活动中使用Toast
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用Toast。
使用Toast的方法非常简单,在onCreate()方法中添加代码:
Button button1 = (Button) findViewById(R.id.button_1);button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show(); }});
在活动中,可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传入R.id.button_1,来得到按钮的实例,这个值是刚才在first_layout.xml中通过android:id属性指定的。findViewById()方法返回的是一个View对象,我们需要向下转型将它转成Button对象。得到了按钮的实例之后,我们通过调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的onClick()方法。因此,弹出Toast的功能当然是要在onClick()方法中编写了。
Toast的用法非常简单,通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了。这里需要注意的是,makeText()方法需要传入三个参数。第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象,因此这里直接传入FirstActivity.this即可。第二个参数是Toast显示的文本内容,第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。
效果如下图所示:
在活动中使用Menu
菜单是手机应用中经常使用到的功能。平时菜单是隐藏的,只有当按下菜单键时,菜单弹出,我们选择自己需要的功能。怎样实现这样的效果呢?方法就是在活动中使用Menu。
首先我们像前一篇中在res下添加layout文件夹一样,在res下添加menu文件夹。如下图。
在menu文件夹上右击new→Menu resource file,如下图所示,填写文件名为main。点击OK,就生成了main.xml文件。
打开main.xml文件,插入如下代码:
<item android:id="@+id/add_item" android:title="Add"/><item android:id="@+id/remove_item" android:title="Remove"/>
这里我们创建了两个菜单项,其中标签就是用来创建具体的某一个菜单项,然后通过android:id给这个菜单项指定一个唯一标识符,通过android:title给这个菜单项指定一个名称。
* 然后打开FirstActivity,重写onCreateOptionsMenu()方法,代码如下所示:
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true;}
通过getMenuInflater()方法能够得到MenuInflater对象,再调用它的inflate()方法就可以给当前活动创建菜单了。inflate()方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里当然传入R.menu.main,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象当中,这里直接使用onCreateOptionsMenu()方法中传入的menu参数。然后给这个方法返回true,表示允许创建的菜单显示出来,如果返回了false,创建的菜单将无法显示。
- 为了使我们的菜单不仅能显示,而且能够响应操作,我们来给它加上响应函数。打开FirstActivity,重写onOptionsItemSelected()方法:
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.add_item: Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show(); break; default: } return true;}
在onOptionsItemSelected()方法中,通过调用item.getItemId()来判断我们点击的是哪一个菜单项,然后给每个菜单项加入自己的逻辑处理,这里我们就活学活用,弹出一个刚刚学会的Toast。
* 运行程序。。咦。。菜单键在哪里???为了更好地演示效果,让我们把继承自Activity的FirstActivity更改为继承自AppCompatActivity。现在标题栏显示了出来,让我们点击一下右上角的小图标,菜单显示出来了,效果如下。
销毁一个活动
如何销毁一个活动呢?
其实答案非常简单,只要按一下Back键就可以销毁当前的活动了。不过如果你不想通过按键的方式,而是希望在程序中通过代码来销毁活动,当然也可以,Activity类提供了一个finish()方法,我们在活动中调用一下这个方法就可以销毁当前活动了。
修改按钮监听器中的代码,如下所示:
button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); }});
重新运行程序,这时点击一下按钮,当前的活动就被成功销毁了,效果和按下Back键是一样的。
- Android学习笔记5:探究活动2
- Android学习笔记4:探究活动1
- Android学习,探究活动
- 第 2 章 探究Android活动
- Android Activity活动探究
- Android(探究活动)
- Android : 手动探究活动
- Android 一一 探究活动
- Android Activity探究活动
- 第一行代码学习笔记-第二章 探究活动-1.活动的基本用法
- 第一行代码学习笔记-第二章 探究活动-3.活动的生命周期
- 第一行代码学习笔记-第二章 探究活动-4.活动的启动模式
- 第一行代码学习笔记-第二章 探究活动-5. 活动的最佳实现
- Android学习笔记(35):Android活动条
- 第一行代码笔记-探究活动
- Android学习笔记--从活动activity开始
- Android学习笔记:使用Intent切换活动
- 第一行代码学习笔记-第二章 探究活动-2.Intent的使用
- 揭开Spring事务处理
- 从c++的菱形继承到 C#的接口机制
- zoj 2476 Total Amount
- Qt CS架构 客户端代码编写技巧 QTcpSocket
- 微信支付步骤详解
- Android学习笔记5:探究活动2
- SVN 上传 .a 文件
- C++界面库大全2013
- 我们究竟什么时候可以使用Ehcache缓存
- [Toddler's Bottle]-[flag]
- 学习日记2
- Android 判断网络连接状态--实现微信在线/离线状态切换
- bzoj 1419: Red is good
- C# + WinForm + EmguCV 学习二:创建和操作图片