我觉得这个Toast提醒是真的舒服,看着就好看。
首先要定义一个弹出Toast的触发点。我们上一个界面正好有一个button,我们要做的只是修改一下onCreate方法,就像这样:
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button but = (Button) findViewById(R.id.button_1);
but.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick (View v){
Toast.makeText(FirstActivity.this,"Holy Crap!!!",Toast.LENGTH_SHORT).show();
}
});
}
}
em..解释一下@Overide,算了,看这里(https://blog.youkuaiyun.com/upc1607020107/article/details/81274398)。
这段代码先通过id找到了一个button然后实例化出来,然后调用setOnClickListener方法注册了一个监听器,点击按钮就会执行onClick方法。
makeText方法需要传入三个参数,第一个是Context,也就是Toast要求的上下文。(虽然作者是这么写的啦,但是这个上下文是什么意思?以后慢慢理解)剩下两个参数自己理解一下吧。
说完Toast,再看一下Menu怎么用。
先在res目录下new一个名为menu的Directory,在新建一个名为main的菜单文件(Menu resource file)。
<?xml version="1.0" encoding="utf-8"?>
<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"/>
</menu>
Id是唯一标识符,title是给这个菜单项指定一个名称。
之后我们要做的就是重写onCreateOptionsMenu方法,重写方法快捷键Ctrl+O。
重写代码如下:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main,menu);
return true;
//return super.onCreateOptionsMenu(menu);
}
这里。。。getMenuInflater方法得到MenuInflater对象,然后调用发的inflate方法给当前活动创建菜单。第一个参数是选一个菜单文件,第二个参数是添加到那个Menu对象中。
返回值,返回true的话就是语序创建的菜单显示出来,返回false则无法显示。菜单写好了,可以试验一下。
我们再往菜单里添加点响应的事件。重写onOptionsItemSelected方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.add_item:
Toast.makeText(this,"ADD?",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"Remove",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
// return super.onOptionsItemSelected(item);
}
跑一下程序实验一下就知道了。