Toast
Toast 是Android 系统提供的一种提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些消息会在一段时间后自动消失。并其不会占用任何屏幕空间。
首先需要定义一个弹出Toast 的触发点,点击按钮的时候弹出一个Toast
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENTH_SHORT).show();
}
});
}
在活动中,可以通过findViewById() 方法获取布局文件中定义的元素,传入R.id.button_1,来得到按钮的实例,这个值是在first_layout.xml 中通过android:id这个属性指定的,得到按钮实例后,通过调用setOnClickListener() 方法为按钮注册一个监听器,点击按钮时就会执行监听器中的onClick() 方法。
Toast 的用法,通过静态方法makeText() 创建出一个Toast 对象,然后调用show() 将Toast 显示出来就可以了。makeText() 方法需要传入3个参数,第一个参数是Context,也就是Toast 要求的上下文,活动本身就是一个Context 对象,因此直接传入FirstActivity.this,第二个参数是Toast 显示的文本内容,第三个参数是Toast 显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG。
Menu
首先在res 目录下新建一个menu 文件夹 ,右击res 目录 — New — Directory,输入文件夹名称menu,点击OK。接着在文件夹下新建一个名叫main 的菜单文件,右击menu 文件夹 — New — Menu resource file,
文件名输入main,点击OK 完成创建。在main.xml 文件中添加
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="Add"/>
<item
android:id="@+id/remove_item"
android:title="Remove"/>
这里创建了两个菜单项,其中<item> 标签就是用来创建具体的某一个菜单项,然后通过android:id 给这个菜单项指定一个唯一的标识符,通过android:title给这个菜单指定一个名词。
在FirstActivity 中重写onCreateOptionMenu()方法,重写方法可以使用Ctrl + O快捷键(Mac 系统是control + O),
在onCreateOptionsMenu() 方法中
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
通过getMenuInflater() 方法能够得到MenuInflater 对象,再调用它的inflate() 方法可以给当前活动创建菜单。inflate() 方法接收两个参数,第一个参数用于指定一个资源文件来创建菜单,这里传入R.menu.main。第二个参数用于指定菜单项将添加到哪一个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() 来判断点击的是哪一个菜单项,然后给每个菜单项加入自己的逻辑处理。
菜单里的菜单项默认是不会显示出来的,在标题栏的右侧多了一个三点的符号,这个就是菜单按钮了,只有点击一下菜单按钮才会弹出里面具体的内容,因此不会占用任何活动 的空间。
点击Add 菜单项就会弹出 You clicked Add 提示。
销毁一个活动
只要按一下back 键就可以销毁当前的活动了,在程序中通过代码来销毁活动,Activity 类提供了一个finish() 方法,在活动中调用一下这个方法就可以销毁当前活动了。
修改按键监听器中的方法,
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
finish();
}
});
点击一下按钮,当前的活动就成功销毁了,效果和按下Back 键是一样的。