当前位置: 首页>后端>正文

Activity基本用法

Activity 是承载用户界面的组建,负责与用户的交互。Activity 就好似剧院的舞台,承载着各种节目,以及跟观众(用户)互动的功能。

示例代码

创建一个空项目 ActivitySample

Activity基本用法,第1张
create.png

选择 No Activity,创建一个不包含Activity的空项目;
点击Next进行配置,项目名叫 ActivitySample,包名com.guagua.activitysample.

新建 MyActivity1

右击包com.guagua.activitysample 新建 Activity,命名为 MyActivity1

Activity基本用法,第2张
activity-1.png
Activity基本用法,第3张
activity-2.png

创建布局文件 activity_my1.xml

布局包含了用户界面,使得 Android 项目的逻辑与视图分离。
右击文件夹 layout 创建资源文件 activity_my1.xml

Activity基本用法,第4张
activity-layout.png

编辑activity_my1.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:padding="30dp">

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="close button"
        android:textAllCaps="false" />
</LinearLayout>

这里添加了一个 Button.

加载布局文件

Java 代码 MyActivity1

public class MyActivity1 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my1);
    }
}

Kotlin 代码MyActivity1

class MyActivity1 : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my1)
    }
}

通过 setContentView() 函数为当前的 Activity 加载布局,activity_my1.xml布局文件的 id 作为该函数的参数。

配置 AndroidManifest.xml 清单文件,注册 MyActivity1

Activity只有在 AndroidManifest.xml 中注册才能生效.

        <activity
            android:name=".MyActivity1"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

<action android:name="android.intent.action.MAIN" /> 的作用是指定该Activity为项目的主Activity
<category android:name="android.intent.category.LAUNCHER" /> 的作用是设置 用户点击桌面应用图标的时候跳转进入该Activity

运行效果

Activity基本用法,第5张
demo.png

关闭当前Activity

Java 代码 MyActivity1:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my1);

        Button button = findViewById(R.id.btn1);
        button.setOnClickListener(view -> {
            Toast.makeText(this, "close activity", Toast.LENGTH_SHORT).show();
            finish();
        });
    }

Kotlin 代码 MyActivity1:

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my1)

        val button: Button = findViewById(R.id.btn1)
        button.setOnClickListener{
            Toast.makeText(this, "close activity", Toast.LENGTH_SHORT).show()
            finish()
        }
    }

点击 Button,弹出 Toast 提示,然后调用 finish()函数关闭当前页面。

项目代码(Java)地址:https://github.com/BethelDEV/shaguaAndroid/tree/main/javaSource/ActivitySample

项目代码(Kotlin)地址:https://github.com/BethelDEV/shaguaAndroid/tree/main/kotlinSource/ActivitySample


https://www.xamrdz.com/backend/3da1931818.html

相关文章: