栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android中使用Kotlin实现一个简单的登录界面

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android中使用Kotlin实现一个简单的登录界面

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将会更加的简洁明了,省去了定义变量和查找布局文件的操作,大大解放了我们程序员;

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



  
  
    
    
  
  
    
    
  
  

总结

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/157754.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号