Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

刚接触Kotlin的第一天,仿照QQ的登录界面,先写一个简单的登录界面,虽然笔者用的不是很熟,还在慢慢摸索,但是Kotlin是真的很简洁,笔者的实现效果如下:

登录界面代码如下:

class LoginActivity : AppCompatActivity(), View.OnClickListener {  override fun onCreate(savedInstanceState: Bundle?) {    super.onCreate(savedInstanceState)    //setContentView(R.layout.activity_login)    LoginUi().setContentView(this@LoginActivity)  }  lateinit var et_account: EditText  lateinit var et_password: EditText  inner class LoginUi : AnkoComponent {    override fun createView(ui: AnkoContext) = with(ui) {      verticalLayout {        backgroundColor = context.resources.getColor(android.R.color.white)        gravity = Gravity.CENTER_HORIZONTAL        imageView(R.drawable.touxiang).lparams {          width = dip(100)          height = dip(100)          topMargin = dip(64)        }        linearLayout {          gravity = Gravity.CENTER_VERTICAL          orientation = HORIZONTAL          backgroundResource = R.drawable.bg_frame_corner          imageView {            image = resources.getDrawable(R.mipmap.ic_username)          }.lparams(width = wrapContent, height = wrapContent) {            leftMargin = dip(12)            rightMargin = dip(15)          }          et_account = editText {            hint = "登录账户"            hintTextColor = Color.parseColor("#666666")            textSize = 14f            background = null          }.lparams {            topMargin = dip(5)          }        }.lparams(width = dip(300), height = dip(40)) {          topMargin = dip(30)        }        linearLayout {          gravity = Gravity.CENTER_VERTICAL          orientation = HORIZONTAL          backgroundResource = R.drawable.bg_frame_corner          imageView {            image = resources.getDrawable(R.mipmap.ic_password)          }.lparams(width = wrapContent, height = wrapContent) {            leftMargin = dip(12)            rightMargin = dip(15)          }          et_password = editText {            hint = "账户密码"            hintTextColor = Color.parseColor("#666666")            textSize = 14f            background = null          }.lparams {            topMargin = dip(5)          }        }.lparams {          width = dip(300)          height = dip(40)          topMargin = dip(10)        }        button("登录") {          gravity = Gravity.CENTER          background = resources.getDrawable(R.drawable.bg_login_btn)          textColor = Color.parseColor("#ffffff")          textSize = 18f          onClick {            if (et_account.text.toString().isNotEmpty() && et_password.text.toString().isNotEmpty())              startActivity() else toast("请输入账户或者密码")          }        }.lparams(width = dip(300), height = dip(44)) {          topMargin = dip(18)        }        linearLayout {          orientation = HORIZONTAL          gravity = Gravity.CENTER_VERTICAL          checkBox("记住密码") {            textColor = Color.parseColor("#666666")            textSize = 16f            leftPadding = dip(5)          }          textView("新用户注册") {            textColor = Color.parseColor("#1783e3")            gravity = Gravity.RIGHT            textSize = 16f          }.lparams(width = matchParent)        }.lparams(width = dip(300)) {          topMargin = dip(18)        }        textView("Copyright © Henry") {          textSize = 14f          gravity = Gravity.CENTER or Gravity.BOTTOM        }.lparams {          bottomMargin = dip(35)          weight = 1f        }      }    }  }  override fun onClick(v: View) {    when (v.id) {    }  }}

  实现出来的效果和我们设置布局文件所实现的效果一样,但是相比使用布局文件来说,使用Kotlin将会更加的简洁明了,省去了定义变量和查找布局文件的操作,大大解放了我们程序员;

  下面的代码所示是笔者使用布局文件实现的布局效果,和上面的效果一样,但是会复杂很多,大家可以自己自己体会一下;

<?xml version="1.0" encoding="utf-8"?>                            

总结

以上所述是小编给大家介绍的Android Kotlin实现一个简单的登录界面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多相关文章

  1. Android布局文件中常用的长度单位解析
  2. android实现视频播放器
  3. Android项目研发之多分辨率适配
  4. Android(安卓)ListView基础篇
  5. Android(安卓)Fragment的介绍与使用(案例Demo)
  6. Android简单视频播放器之VideoView(一)
  7. Android(安卓)UI控件之CheckBox实现墨迹天气设置布局界面(漂亮)
  8. 【转】Android自适应不同分辨率或不同屏幕大小的layout布局(横屏
  9. Android开发之旅:深入分析布局文件

随机推荐

  1. android 知识点
  2. Android8.0以上监听开关机,息亮屏,解锁等系
  3. 加速 Android 开发的五大开源网站
  4. Android界面开发推荐颜色
  5. Android之TextView设置String文本颜色
  6. Android TextView字体颜色等样式详解
  7. 「横竖屏」 「分屏」 「虚拟按键」
  8. Gradle-jar-aar
  9. 在Android中使用GIF图片
  10. Android 主动获取电量的方法