Android notes——第一行代码笔记(第三版)
Android notes——第一行代码笔记(第三版)
Activity
Activity基本用法
创建Activity、加载布局、注册
-
任何Acticity应该**重写onCreate()**方法,所有Activity中需要有一个主Activity。
-
最好每一个Activity都对应一个布局,讲究视图和逻辑分离。
-
项目中的任何资源都会在R文件中生成一个相应的资源id
-
Activity和布局联系起来的方式
- 在Activity中加载first_layout.xml文件的布局
setContentView(R.layout.first_layout)
class FirstActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_layout) //加载布局 val button1: Button = findViewById(R.id.button1) //调用findViewById()获得R文件中的button1实例 button1.setOnClickListener{ Toast.makeText(this, "You clicked Button 1", Toast.LENGTH_SHORT).show() } } }
-
在AndroidManifest文件中注册——Android studio自动完成
-
注册Activity后,需要设置一个主Activity,以便让程序知道启动哪个Activity。在AndroidManifest.xml中写入**标签**,添加如下内容和如下面代码所示。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest"> <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.MyApplication"> <!-- 在这里配置你的activity--> <activity android:name=".FirstActivity" android:label="This is FirstActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
- 在Activity中加载first_layout.xml文件的布局
在Activity中使用Toast,Toast就是一个简单的提示消息~
Toast的用法:调用一个静态方法makeText()
,其参数如下:
参数 | 参数内容 |
---|---|
第一个 | Context对象,如果在Activity中使用,可以直接用this 关键字,因为Activity也是一个Context对象 |
第二个 | 文本,在""中键入显示的文本消息 |
第三个 | 文本停留时长,有Toast.LENGTH_SHORT 和Toast.LENGTH_LONG 两个参数 |
Toast.makeText(Context对象, "tpye your text here~", Toast.LENGTH_SHORT).show()
- 将调用静态方法
makeText()
的代码放入一个 调用监听器 的方法中,相应事件触发,即有相应提示。例子如下:
button1.setOnClickListener{
Toast.makeText(this, "You clicked Button 1", Toast.LENGTH_SHORT).show()
}
当button1被按下,则会有提示信息。
【注】控件和Activity联系的方式——在Activity中首先获取控件实例,然后为控件调用相应的监听方法
【注】findViewById()
方法获取布局文件中定义的元素,通过传入R.xxx
来得到相应控件的实例