⒈简介
我们在App上看到的每一个界面它就需要一个Activity,但Activity并不等同于界面,只是界面需要Activity。
Fragment是碎片化的界面,每一个Activity可以包含很多个Fragment,Fragment不可以作为独立存在的,它必须依赖于Activity,它是受Activity管理的。
⒉Activity的创建三部曲
1.新建类继承Activity或其子类
package cn.coreqi.activity; import androidx.appcompat.app.AppCompatActivity; public class TestActivity extends AppCompatActivity { }
2.在AndroidManifest中声明
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.coreqi.helloworld2"> <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/AppTheme"> <activity android:name="cn.coreqi.activity.TestActivity"></activity> <activity android:name=".ButtonActivity"></activity> <activity android:name=".TextViewActivity" /> <!-- 注册 activity --> <activity android:name=".MainActivity"> <!-- .前面默认会加包名,上面声明了包名,此处为cn.coreqi.helloworld2.MainActivity --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <!-- 设置当前activity为应用启动的第一个activity --> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
3.创建layout文件(布局文件)并在Activity的onCreate中设置。
在res/layout下新建布局文件
<?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"> </LinearLayout>
并且在Activity的onCreate方法中设置
package cn.coreqi.activity; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import cn.coreqi.helloworld2.R; public class TestActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); } }
一些小技巧
设置Activity标题头
<activity android:name=".MainActivity" android:label="启动页"> <!-- .前面默认会加包名,上面声明了包名,此处为cn.coreqi.helloworld2.MainActivity --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <!-- 设置当前activity为应用启动的第一个activity --> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
取消标题头(单个Activity)
<activity android:name=".MainActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"> <!-- .前面默认会加包名,上面声明了包名,此处为cn.coreqi.helloworld2.MainActivity --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <!-- 设置当前activity为应用启动的第一个activity --> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
取消标题头(全局Activity)
<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.AppCompat.Light.NoActionBar">
设置Activity的屏幕方向
<activity android:name="cn.coreqi.activity.TestActivity" android:screenOrientation="portrait"></activity><!--竖屏显示-->
设置Activity的启动模式
<activity android:name="cn.coreqi.activity.TestActivity" android:launchMode="singleInstance"></activity>
⒊Activity的生命周期
一个Activity被部署到安卓应用之后跟随应用进程运行,它会在不同的状态之间进行切换,并且在切换状态的同时也会回调相应的方法,我们把Activity不同的状态称之为Activity的生命周期。
当点击进入Activity时,执行三个Activity生命周期方法,分别是onCreate、onStart、onResume,点击返回按钮时,执行三个生命周期方法,分别是onPause(暂停)、onStop(停止)、onDestroy(摧毁)。
来源:https://www.cnblogs.com/fanqisoft/p/12165145.html