Android——使用toast、Menu
作者:互联网
以点击按钮弹出toast对话框为例:
1.Toast
Activity中:
package com.example.activitytest; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_layout); // 点击按钮弹出toast Button button1=(Button) findViewById(R.id.button_01); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(FirstActivity.this,"你点击了button1",Toast.LENGTH_SHORT).show(); } }); } }
- 通过findViewById()方法,获取到布局文件中定义的元素——button(id就是layout文件中的buttonid:android:id="@+id/button_01")。返回的结果是一个View对象,需要向下转型为Button对象
- 通过调用set0nCickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的onCUick()方法。
- Toast的用法非常简单,通过静态方法makeText()创建出一个 Toast对象,然后调用show()将Toast显示出来就可以了。
- makeText()方法需要传入3个参数:
- 第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context 对象,因此这里直接传入 FirstActivity.this即可。
- 第二个参数是 Toast显示的文本内容
- 第三个参数是 Toast 显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT和Toast.LENGTN_LONG。
- makeText()方法需要传入3个参数:
此时点击按钮会出现toast提示:
2.活动中使用Menu
(1)创建menu菜单文件
首先在 res目录下新建一个 menu 文件夹,右击 res 目录→New→Directory,输人文件夹名menu,点击OK。接着在这个文件夹下再新建一个名叫main的菜单文件,右击menu文件夹→New→Menu resourc file.
这里常见一个菜单文件名为main
(2)main菜单文件中代码:
<?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="添加"/> <item android:id="@+id/remove_item" android:title="移除"/> </menu>
两个<item/>标签就是我们创建的两个菜单项,id和title分别是id和名称
(3)重写onCreateOptionsMenu()方法
回到FirstActivity(对应的Activity文件),ctrl+o打开并选择onCreateOptionsMenu选项
然后在生成的重写方法中写入如下代码:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; }
说明:
- 通过getMenuInflater()方法能够的到MenuInflater对象,再调用它的inflate()方法就可以给当前活动创建菜单了。
- inflate()方法接收两个参数:
- 第一个用于指定我们通过哪一个资源文件创建菜单,这里传的是刚创建的main菜单
- 第二个用于指定我们的菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu()方法中传入的menu参数
- 然后给这个方法返回true,表示允许创建的菜单显式出来,如果返回false,则创建的菜单无法显示
(4)定义菜单的响应事件(重写onOptionsItenSelected())方法:
打开方式如上,然后在选择的重写事件中写入如下代码:
@Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.add_item: Toast.makeText(FirstActivity.this,"你点击了添加",Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(FirstActivity.this,"你点击了移除",Toast.LENGTH_SHORT).show(); break; default: } return true; }
用switch判断我们点击的是哪一个惨淡想,然后给每个菜单项加入自己的逻辑处理,这里用上面写的Toast提示。
(5)运行
写完上面代码以后会在应用的右上角出现三个点:
点击这三个点会出现刚定义的菜单项:
点击对应的菜单项会有相应的toast:
标签:toast,Toast,菜单,Menu,点击,menu,Android,FirstActivity,id 来源: https://www.cnblogs.com/codexlx/p/13548903.html