作者:Mr_cool | 来源:互联网 | 2023-06-08 17:17
Activity是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个Activity,但不包含任何Activity的应用
Activity是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个Activity,但不包含任何Activity的应用程序很少见。
首先
1.右键项目的任何包路径→New→Activity→EmptyActivity(完全为空的活动),会弹出一个创建Activity的对话框,如右图所示
勾选Generate Layout File表示会自动为FirstActivity创建一个对应的布局文件。
勾选Launcher Activity表示会自动将FirstActivity设置为当前项目的主Activity。
勾选 Backwards Compatibility 表示会为项目启用向下兼容旧版系统的模式。
点击“Finish”完成创建。
2.项目中的任何Activity都应该重写onCreate()方法,而目前FirstActivity中已经重写了这个方法,这是Android Studio自动帮我们完成的,代码如下所示:
class FirstActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
3.新建一个layout(布局),Android程序的设计讲究逻辑和视图分离,最好每一个Activity都能对应一个布局。右击app/src/main/res/layout→New→Directory,可以创建一个布局文件。布局文件中是使用XML来进行界面编辑的,这里创建一个first_layout.xml文件
添加一个按钮(button1)
在xml文件中通过@+id/button1,新增一个控件,
//通过@id/button1,调用一个控件
在文件中,通过R.id/button1,新增一个控件,
//通过R.id/button1,调用一个控件
android:orientation="vertical"
android:layout_
android:layout_>
图片如下
4.回到FirstActivity,在onCreate()方法中加入如下代码即可给当前的Activity加载一个布局。
setContentView(R.layout.first_layout)
class FirstActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.first_layout)
}
}
5.所有的Activity都要在AndroidManifest.xml中进行注册才能生效。Activity的注册声明要放在标签内,并通过标签来对Activity进行注册。
还可以通过在标签的内部加入标签来配置主Activity
package="com.example.activitytest">
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.ActivityTest">
android:name=".FirstActivity"
android:exported="true"
android:label="this is FirstActivity">//标题栏内容
//这两句是配置主活动的代码,就是进入APP首先看到的界面
界面如下
6.Toast应用
Toast是Android系统提供的一种非常好的提醒方式。在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
Toast用法,通过makeText()创建出一个Toast对象,然后通过调用show()显示
makeText()用法,需要传入三个参数,第一个是Context---就是Toast要求的上下文,因为Activity本身就是一个Context,所以这里用this。
第二个就是Toast显示的文本内容,第三个是显示的时长,Toast.LENGTH_SHORT或者Toast.LENGTH_LONG
(3.6版本以后,原来使用的kotlin.android.extensions已经不在使用,转为使用viewBinding)
buildFeatures {
viewBinding true//使用viewBinding替代kotlin.android.extensions,要在这里定义
}
package com.example.activitytest
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import com.example.activitytest.databinding.FirstLayoutBinding
class FirstActivity : AppCompatActivity() {
private lateinit var binding: FirstLayoutBinding//1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.first_layout)
// val button1:Button=findViewById(R.id.button1)//findViewById(R.id.button1)方法,用于获取布局文件中的元素
// ,通过R.id.button1得到按钮的实例
val binding=FirstLayoutBinding.inflate(layoutInflater)//2
setContentView(binding.root)//3,3.6版本以后,原来使用的kotlin.android.extensions已经不在使用,转为使用viewBinding
// (kotlin.android.extensions缺点自行看csdn收藏),使用viewBinding首先在build.gradle(:app)里加
// buildFeatures {
// viewBinding true
// }
//其次在Activity里加入123句代码
binding.button1.setOnClickListener{
Toast.makeText(this,"您点击了这个按钮1",Toast.LENGTH_SHORT).show()//Toast是Android系统提供的一种非常好的提醒方式。
// 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
//Toast用法,通过makeText()创建出一个Toast对象,然后通过调用show()显示
//makeText()用法,需要传入三个参数,第一个是Context---就是Toast要求的上下文,因为Activity本身就是一个Context,所以这里用this
//第二个就是Toast显示的文本内容,第三个是显示的时长,Toast.LENGTH_SHORT或者Toast.LENGTH_LONG
}
}
}
图片如下
7.Android Studio自带的AVD,速度慢,建议用手机测试,手机打开开发者模式,允许USB调试