1、活动Activity是什么
2、Activity的基本用法
3、创建和加载布局
4、在AndroidManifest文件中注册
5、在活动中使用Toast
6、在活动中使用Menu
7、销毁一个Activity
1、活动Activity是什么
活动(Activity)是一种可以包含用户界面的组件,主要用于和用户进行交互
2、Activity的基本用法
新建一个Android项目,工程名叫ActivityTest
创建一个No Activity,一步一步创建
按照Project模式排列文件
添加Activity
给Activity添加名称
查看创建成功的Activity,项目中任何活动都应该重写Activity的onCreate()方法
3、创建和加载布局
Android程序的设计讲究逻辑和视图分离,最好每一个Activity都能对应一个布局,布局就是用来显示界面内容的
手动创建布局文件
布局编辑器
对布局进行编辑
显示布局后的效果
将布局加载到Activity中
4、在AndroidManifest文件中注册(maniest:证明、表明、显示)
将Activity进行注册,并设置成启动后显示的页面
最终运行效果
5、在活动中使用Toast
Toast是Android系统提供的一种非常友好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间
现在给添加的按钮添加一个事件,点击后弹出Toast
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 项目中的任何活动都应该重写Activity的onCreate()方法
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
// 通过id获取到布局文件中定义的元素,得到按钮的实例,返回一个View对象,向下转型成Button对象
Button button1 = (Button)findViewById(R.id.button_1);
// 为按钮注册一个监听器,点击按钮时会执行监听器中的onClick()方法
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 弹出Toast要在onClick()方法中编写
Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show();
}
});
}
}
Toast用法很简单,通过静态方法makeText()创建出一个Toast对象,然后调用show()方法将Toast显示出来。makeText()方法需要传入3个参数,第一个是是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象,因此直接传入FirstActivity.this即可,第二个参数是Toast显示的文本内容,第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG
最终运行后的效果如下:
6、在活动中使用Menu
在res目录下创建一个menu文件夹,然后创建Menu resource file文件
给文件命名为main
在main.xml文件中添加两个item
回到FirstActivity中重写onCreateOptionsMenu()方法将菜单显示出来,重写onOptionsItemSelected()方法给定义的菜单添加响应事件
// 将菜单显示出来
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// 通过getMenuInflater()方法能够得到MenuInflater对象,再调用inflate()方法就可以给当前
// 活动创建菜单了,inflate()方法接收两个参数,第一个参数用于指定通过哪一个资源文件来创建
// 菜单,第二个参数用于指定菜单项将添加到哪一个Menu对象中 inflate:使充气,使膨胀
getMenuInflater().inflate(R.menu.main, menu);
// 方法返回true,表示允许创建的菜单显示出来,如果返回false,创建的菜单将无法显示
return true;
}
// 给定义的菜单添加响应事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
// 通过item.getItemId()来判断点击的是哪一个菜单项,然后给每个菜单项添加自己的逻辑处理
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;
}
最终的效果会发现标题栏右侧多了一个三点的符号,这个就是菜单按钮了,效果图如下
7、销毁一个Activity
只要按下Back键就可以销毁当前的Activity了,不过不想通过按钮的方式,而是希望在程序中通过代码来销毁Activity,使用finish()方法,就可以销毁当前对象了
Button button1 = (Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
点击按钮销毁Activity,这个效果跟按Back键效果一致