今天主要是大概了解一下内容,具体的知识点后面还会再学习
内容
1.配置项目名称与图标
2.layout与Activity
3.监听按钮点击事件
4.界面跳转
5.横屏竖屏
6.添加动画
7.多国语言支持
一.配置项目名称与图标
二.layout与Activity
①Activity用来管理界面的生命周期和交互,具体的界面需要自己配置(在 res->layout -> .xml中) xml就是标记文件
通过setContentView来实现两者之间的关联(关联layout布局文件和Activity,也就是Java/kotlin代码)
②所有的资源文件(也就是res里面的文件)都会有一个ID和它对应,要访问这些资源,只需要通过R.(R是系统自动为我们创建的一个类)即可
如
setContentView(R.layout.activity_main)
三.监听按钮点击事件
使用了lambda表达式,具体如何简化的可以参考另一篇博客
mLoginBtn.setOnClickListener{
}
里面就加上需要做的事情就可以了
四.界面跳转
//跳转界面
startActivity(Intent(this@MainActivity,DetailActivity::class.java))
两个参数意思就是从this跳转到另一个界面(第二个参数),注意是::class.java
五.横屏竖屏
横屏是land,竖屏是portrait
六.添加动画
重点理解一下also和apply
package com.example.myapplication
import android.animation.Animator
import android.animation.ObjectAnimator
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.ImageView
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() ,View.OnClickListener{
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//监听按钮点击事件(匿名对象方式)
/*mLoginBtn.setOnClickListener(object: View.OnClickListener{
override fun onClick(v: View?) {
println("按钮被点击了")
}
})*/
mLoginBtn.setOnClickListener {
//下面是kotlin方式①
//also
/*ObjectAnimator.ofFloat(imageView,"rotation",0f,360f).also {
it.duration = 100
it.repeatCount = 20
it.start()
it.addListener(object : Animator.AnimatorListener{
override fun onAnimationRepeat(animation: Animator?) {
TODO("Not yet implemented")
}
override fun onAnimationEnd(animation: Animator?) {
//跳转界面
startActivity(Intent(this@MainActivity,DetailActivity::class.java))
}
override fun onAnimationCancel(animation: Animator?) {
TODO("Not yet implemented")
}
override fun onAnimationStart(animation: Animator?) {
TODO("Not yet implemented")
}
})*/
//下面是kotlin方式②
//apply是直接在对象内部使用代码块,可以直接访问这个对象本身的属性和方法
ObjectAnimator.ofFloat(imageView, "rotation", 0f, 360f).apply {
duration = 100
repeatCount = 6
start()
addListener(object : Animator.AnimatorListener {
override fun onAnimationRepeat(animation: Animator?) {
TODO("Not yet implemented")
}
override fun onAnimationEnd(animation: Animator?) {
//跳转界面
startActivity(Intent(this@MainActivity, DetailActivity::class.java))
}
override fun onAnimationCancel(animation: Animator?) {
TODO("Not yet implemented")
}
override fun onAnimationStart(animation: Animator?) {
TODO("Not yet implemented")
}
})
}
/*//下面是Java方式
//添加旋转动画,动画结束之后再跳转到下一个界面
//旋转 平移 缩放 透明度
val anim = ObjectAnimator.ofFloat(imageView,"rotation",0f,360f)
//第二个参数:旋转属性
//第三个参数,从0到360度
anim.duration = 100//一圈时间
anim.repeatCount = 6//转6圈
anim.start()
//监听动画的结束事件
anim.addListener(object: Animator.AnimatorListener{
override fun onAnimationRepeat(animation: Animator?) {
TODO("Not yet implemented")
}
override fun onAnimationEnd(animation: Animator?) {
//跳转界面
startActivity(Intent(this@MainActivity,DetailActivity::class.java))
}
override fun onAnimationCancel(animation: Animator?) {
TODO("Not yet implemented")
}
override fun onAnimationStart(animation: Animator?) {
TODO("Not yet implemented")
}
})
println("想啥呢,sb")
}*/
}
}
override fun onClick(v: View?) {
}
}
七.多国语言支持