0
点赞
收藏
分享

微信扫一扫

安卓实战开发Day01 2020.7.27


今天主要是大概了解一下内容,具体的知识点后面还会再学习

内容

1.配置项目名称与图标
2.layout与Activity
3.监听按钮点击事件
4.界面跳转
5.横屏竖屏
6.添加动画
7.多国语言支持

一.配置项目名称与图标

安卓实战开发Day01 2020.7.27_ide

安卓实战开发Day01 2020.7.27_android_02

二.layout与Activity

Activity用来管理界面的生命周期和交互,具体的界面需要自己配置(在 res->layout -> .xml中) xml就是标记文件
通过setContentView来实现两者之间的关联(关联layout布局文件和Activity,也就是Java/kotlin代码)
②所有的资源文件(也就是res里面的文件)都会有一个ID和它对应,要访问这些资源,只需要通过R.(R是系统自动为我们创建的一个类)即可

setContentView(R.layout.activity_main)

安卓实战开发Day01 2020.7.27_安卓_03

三.监听按钮点击事件

使用了lambda表达式,具体如何简化的可以参考​​另一篇博客​​

mLoginBtn.setOnClickListener{

}

里面就加上需要做的事情就可以了

四.界面跳转

//跳转界面
startActivity(Intent(this@MainActivity,DetailActivity::class.java))

两个参数意思就是从this跳转到另一个界面(第二个参数),注意是::class.java

五.横屏竖屏

安卓实战开发Day01 2020.7.27_安卓_04


横屏是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?) {

}


}

七.多国语言支持

安卓实战开发Day01 2020.7.27_ide_05


安卓实战开发Day01 2020.7.27_安卓_06


安卓实战开发Day01 2020.7.27_ide_07


举报

相关推荐

0 条评论