Activity基本使用

Activity基本使用

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

示例代码

创建一个空项目 ActivitySample

Create

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

新建 MyActivity1

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

创建布局文件 activity_my1.xml

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

编辑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

运行效果

demo

关闭当前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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值