赞
踩
说起这个问题,先谈谈什么是活动吧!
活动是一种可以包含用户界面的组件,主要用于和用户交互,所以一个程序含有一个或者多个活动。因此可以说活动是Android的重要组成部分,一般我们创建一个页面的时候,AndroidStudio会自动帮我们生成一个主活动。
因此为了更好理解活动,我们可以尝试一下手动创建活动,这有助我们理解!!!
打开Android Studio,并新建一个项目
但是不再选择Empty Acticity选项,而是选择第一个Add No Activity
然后输入项目名,语言选择JAVA,点击Finish
进入之后,等待一会,等它自动生成一些必要文件,然后我们可以手动把项目结构改成Project模式,这样便于我们了解这个项目结构
我们打开app/src/main/java/com.example.activity_test可以发现,这里面是一个空格
因此,我们需要手动新建一个活动,我们右击com.example.activity_tes包,选择New->Activity->Empty Activity,然后新建一个FirstActivity的活动
这个不要勾选
任何活动都需要重写onCreate方法,但这些步骤AndroidStudio都自动帮我们完成了,它在里面调用了父类的onCreate方法
在Android中一般一个活动对应一个布局,因此我们需要创建一个布局
右击app/src/main/res,选择New->Diretory,新建一个名为layout的目录
然后再layout目录下新建一个布局文件,名字为first_layout
然后就会生成一个xml文件
接下来让我们在这个xml文件中用代码编写一个按钮吧
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="按钮"></Button>
接下来我们onCreate方法中增加一下加载布局代码,然后达到加载布局的作用
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);//加载布局
}
}
这里调用了一个setContentView方法来给当前布局加载一个布局
当我们打开AndroidMainfest文件可以看到FirstActivity已经在AndroidMainfest.xml中注册过了,为什么会这样呢???
这当然是因为我们的编译器AndroidStudio自动帮我注册了呢,因此看见这也挺人性化的,因此我们在编程的时候,这一步经常忘记。
虽然这里注册了活动,但是程序还是不能运行,我们还需要配置主活动,不然程序不知道启动哪个页面
因此我们需要在Activity标签中加入intent-filter标签并在该标签下加入以下代码
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
以上就是手动创建活动的所有内容了,下面给大家介绍一个很好用的东西!!!
Toast是一个很好用的提醒方法,它可以将一些短小的程序信息通知给用户,并且过一段时间会自动消失,不会占屏幕空间
至于它怎么使用???
首先我们在FirstActivity活动中的定义一个弹出Toast的触发点
代码的解释已经在代码片里面去了,请查收
package com.example.activity_test;
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 button = (Button) findViewById(R.id.button_1);
//注册一个监听器
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//利用makeText创建一个Toast对象
//第一个参数:context对象,也就是Toast要求的上下文,此时这个活动就是Context对象
//第二个参数:文本显示的内容
//第三个参数:显示时长
Toast.makeText(FirstActivity.this, "提醒你!!!", Toast.LENGTH_SHORT).show();
}
});
}
}
打开虚拟机
运行程序
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。