Activity(活动)的基本用法
文章目录
前言
前面给大家承诺讲述活动的基本用法,今天来了。
一、手动创建活动
1.操作步骤截图:
第一步
第二步
2.操作说明
①勾选Generate Layout File表示会自动为MainActivity创建一个对应的布局文件。
②勾选Launcher Activity表示自动将MainActivity设置为当前项目的主活动。
③有的版本可能有BackwardsCompatibility这个选项,如果有就勾选,这个选项表示项目启用向下兼容。
3.创建成功之后的代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
二、创建和加载布局
1.操作步骤截图:
第一步
第二步
第三步
2.创建成功之后的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
android:textAllCaps="false"
/>
</LinearLayout>
3.加载布局
加载布局我们要回到MainActivity,在onCreate()方法中加入如下代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
}
三、在AndroidManifest文件中注册
1.修改AndroidMannifest.xml文件,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication">
<activity android:name=".MainActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
2.代码说明
①注册声明要放到
<application>
标签内,上面的代码是通过<activity>
标签来对活动进行注册的
②最外层标签<mannifest>
通过属性package指定程序包名为com.example.myapplication
③android:label
指定活动中标题栏的内容
④<action android:name="android.intent.action.MAIN"/>
和<category android:name="android.intent.category.LAUNCHER"/>
设置MainActivity为主活动
四、在活动中使用Toast
Toast是Android系统中一种消息提示框类型,是一个View 视图,快速的为用户显示少量的信息。Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示。
1.在onCreate()方法中添加如下代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
findViewById(R.id.button_1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"You clicked Button1",Toast.LENGTH_SHORT).show();
}
});
}
}
2.代码说明
①
findViewById()
方法获取到在布局文件中定义的元素,这里我们传入的是R.id.button_1
②调用setOnClickListener()
方法为按钮注册一个监听器,点击按钮的时候就会执行监听器中的onClick()
方法
③通过静态方法makeText()
创建出一个Toast对象,然后调用show()
方法将Toast显示出来就可以了;这里传入的三个参数分别是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象,所以这里直接传入MainActivity.this即可;第二个参数是Toast显示的文本内容,第三个参数是Toast显示的时长
3.App运行效果展示
五、在活动中使用Menu
1.新建menu资源文件:
在res目录下新建一个menu文件夹,接着在该文件夹下再新建一个名叫main的菜单文件(右击menu文件夹->New->Menu resource file)文件名输入main,点击ok。
在main.xml中添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:title="Add"
android:id="@+id/add_item"
/>
<item
android:title="Remove"
android:id="@+id/remove_item"/>
</menu>
2.重写onCreateOptionsMenu()方法
回到MainActivity中重写onCreateOptionsMenu()方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater=getMenuInflater();
menuInflater.inflate(R.menu.main,menu);
return true;//返回false menu不会出现
}
3.重写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;
}//当点击某个item后,该item会根据当前构造的Activity去找这个方法,然后传入该item
4.App运行效果展示
六、销毁一个活动
方法一
按一下Back建就可以销毁当前活动
方法二
修改按钮监听器的代码,如下:
findViewById(R.id.button_1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});