一、在活动中使用Toast
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
沿用上一章活动Activity的程序。
首先需要定义一个弹出Toast的触发点,正好界面上有个按钮,那就让点击这个按钮的时候弹出一个Toast吧。在onCreate()方法中添加如下代码:
package com.example.activityteset;
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);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FirstActivity.this, "Hello World", Toast.LENGTH_SHORT).show();
}
});
}
}
在活动中,可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传人R. id. button_1, 来得到按钮的实例,这个值是刚才在first_layout.xml 中通过android:id属性
指定的。findViewById()方法返回的是一个View对象,我们需要向下转型将它转成Button对象。
得到按钮的实例之后,我们通过调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的onClick()方法。因此,弹出Tast的功能要在onClick()方法中编写。
Toast的用法非常简单,通过静态方法makeText()创建出一个Toast对象,然后调用show( )将Toast显示出来就可以了。
这里需要注意的是,makeText()方法需要传入3个参数。第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象,因此这里直接传人FirstActivity. this即可。第二个参数是Toast显示的文本内容,第三个参数是Toast
显示的时长,有两个内置常量可以选择Toast. LENGTH_ SHORT 和Toast . LENGTH LONG。
运行程序,效果如下:
二、在活动中使用Menu
手机毕竟和电脑不同,它的屏幕空间非常有限,因此充分地利用屏幕空间在手机界面设计中就显得非常重要了。
如果活动中有大量的菜单需要显示,这个时候界面设计就会比较尴尬,因为仅这些菜单就可能占用屏幕将近三分之一的空间,这该怎么办呢?
Android 给我们提供了一种方式,可以让菜单都能得到展示的同时,还能不占用任何屏幕空间。
2.1、第一步
2.2、第二步
然后在main.xml中添加如下代码:
<?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>