按钮
<Button android:id="@+id/Button1" // 唯一标识符 android:layout_width="match_parent" // layout_width 指定当前元素的宽度 // match_parent 让当前元素和父元素一样宽 android:layout_height="wrap_content" // layout_height 指定当前元素的高度 // 表示当前元素的高度只要能刚好包含里面的内容 android:text="Button 1" // 指定了当前元素中显示的内容 />
回到FirstActivity, 在onCreate()方法中加入如下代码:
class FirstActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_layout) // 调用 setContentView()方法来给当前的Activity加载一个布局 } }
在AndroidManifest为程序配置主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/AppTheme">
// 给主Activity指定的label不仅会成为标题栏中的内容,还会成为启动器中应用程序显示的名称 <activity android:name=".FirstActivity" android:label="This is FirstActivity">
//配置主Activity方法
<intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application>
在Activity中使用Toast
Toast是Android系统提供的一种非常好的提醒方式
在onCreate()方法中添加如下代码
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_layout)
// 在Activity中,可以通过findViewById()方法获取在布局文件中定义的元素, Kotlin无法自动推导出它是一个Button还是其他控件,所以要将button1变量显示的声明为Button类型 val button1: Button =findViewById(R.id.Button1)
// 用setOnClickListener()方法为按钮注册一个监听器 button1.setOnClickListener{
// makeText()需要有三个参数 1.Toast要求的上下文,2.Toast显示的文本内容 3. Toast显示的时常 Toast.makeText(this, "You clicked Button 1", Toast.LENGTH_SHORT).show() } }
在Activity中使用Menu
1. 首先在res目录下新建一个menu木露露文件夹,接着在这个文件夹下新建一个名叫main的菜单文件
2.在main.xml中添加如下代码
<menu xmlns:android="http://schemas.android.com/apk/res/android">
//item标签用来创建具体的某一个菜单项
<item android:id="@+id/add_item" // android:id给这个菜单项指定一个唯一的标识符 android:title="Add" // 通过android:title给这个菜单项指定一个名称 /> <item android:id="@+id/remove_item" android:title="Remove" /> </menu>
3. 回到FirstActivity中来重写onCreateOptionMenu()方法,重写方法可以使用Ctrl + O快捷键
在onCreateOptionsMenu()方法中编写如下代码
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
//第一个参数用来指定我们通过哪一个资源文件来创建菜单
// 第二个参数用于指定我们的菜单项中将添加到哪一个Menu对象
menuInflater.inflate(R.menu.main, menu)
// 返回true显示菜单
// 返回false隐藏菜单
return true
}
4. 定义菜单响应事件
在FirstActivity中重写onOptionsItemSelected()方法
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// 通过调用item.itemId来判断点击的是哪一个菜单项, 这里实际上背后调用的是item的getItemId()方法,是Kotlin的语法糖 when (item.itemId){ 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 }
销毁一个Activity
1.按下Bcak键
2.修改按钮监听器中的代码
button1.setOnClickListener{ // Toast.makeText(this, "You clicked Button 1", Toast.LENGTH_SHORT).show() finish() }