Android Activity 个人笔记记录

1 创建 Activity 的目录是:app/src/main/java/com.example.activitytest

2 创建布局的目录是:app/src/main/res

3 在 Activity 中加载布局:使用 setContentView() 方法,参数一般是布局文件的id

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

4 所有的 Activity 都需要在 AndroidManifest.xmlapplication标签中进行注册。Label还会是应用显示的名称。

5 配置主 Activity:在 <activity> 标签内部加入<intent-filter>

        <activity android:name=".FirstActivity"
            android:label = "This is qer's first activity!">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

6 kotlin-android-extensions插件
引入方法:
build.gradle

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
}

下面 dependencies还需要加上
mplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
(如果原先没有的话)
然后就可以愉快的直接使用id操作控件了。

7 Toast

        button1.setOnClickListener {
            Toast.makeText(this, "You clicked button", Toast.LENGTH_SHORT).show()
        }

8 菜单项 Menu
res目录下新建menu文件夹,然后在里面创建菜单的xml
然后加入item作为某一个菜单项

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/add_item"
        android:title="Add"/>
    <item
        android:id="@+id/remove_item"
        android:title="Remove"/>
</menu>

重写create 和 select方法

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.main, menu)
        return true
    }
    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) { // 类似的这种其实都是语法糖,itemId是private,这里是调用了 getItemId()
            R.id.add_item -> Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show()
            R.id.remove_item -> Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show()
        }
        return true
    }

9 销毁 Activity

        button1.setOnClickListener {
            finish()
        }

10 Intent
显式

            val intent = Intent(this, SecondActivity::class.java) // 第二个参数作为目标 Activity,相当于 java 中的 SecondActivity.class
            startActivity(intent)

隐式
指定一系列action和category,其中每个Activity只能1个acion,可以多个category,然后intent响应能全部匹配的那个

        <activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="com.example.activitytest.ACTION_START" />
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="com.example.activitytest.MY_CATEGORY"/>
            </intent-filter>
        </activity>
        
            val intent = Intent("com.example.activitytest.ACTION_START")
            intent.addCategory("com.example.activitytest.MY_CATEGORY")
            startActivity(intent)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值