kotlin+android

来源:互联网 发布:手机丢了 知乎 编辑:程序博客网 时间:2024/06/03 13:35

MainActivity.kt

package com.zxb.www.myapp.Activityimport android.content.Contextimport android.content.Intentimport android.os.Bundleimport android.support.v7.app.AppCompatActivityimport com.zxb.www.myapp.UI.MainLayoutActyUIimport org.jetbrains.anko.setContentViewclass MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        MainLayoutActyUI().setContentView(this)    }    override fun startActivity(intent: Intent?) {        super.startActivity(intent)    }    /*fun activityTiaozhuan(ctx: Context, clazz:Class<Any>){        var intent = Intent()        intent.setClass(ctx,clazz)        startActivity(intent)    }*/}
MainLayoutactyUI.kt

package com.zxb.www.myapp.UIimport android.app.Activityimport android.content.Intentimport android.graphics.Colorimport android.view.Gravityimport android.widget.EditTextimport android.widget.LinearLayout.HORIZONTALimport android.widget.TextViewimport com.zxb.www.myapp.Activity.MainActivityimport com.zxb.www.myapp.Activity.RegisterActivityimport com.zxb.www.myapp.Rimport org.jetbrains.anko.*class MainLayoutActyUI : AnkoComponent<MainActivity> {    //val ET_ID = 0x1001    lateinit var et_account: EditText    lateinit var et_password: EditText    lateinit var register: TextView    override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {        verticalLayout {            backgroundColor = context.resources.getColor(android.R.color.white)            gravity = Gravity.CENTER_HORIZONTAL            imageView(R.mipmap.ic_login).lparams {                width = dip(100)                height = dip(100)                topMargin = dip(64)            }            linearLayout {                orientation = HORIZONTAL                gravity = Gravity.CENTER_VERTICAL                textView("还没有帐号?") {                    textColor = Color.parseColor("#8a8a8a")                    textSize = 16f                    leftPadding = dip(5)                }                textView("去注册") {                    textColor = Color.parseColor("#1783e3")                    gravity = Gravity.RIGHT                    textSize = 16f                    onClick {
                        var intent = Intent(this@MainActivity,RegisterActivity::class.java)                        //intent.setClass(this@MainActivity,RegisterActivity::class.java)                        startActivity(intent)                        //startActivity<MainActivity>(this@MainActivity,RegisterActivity::class.java)                        //startActivity<MainActivity>(this@MainActivity,RegisterActivity.javaClass)
} }.lparams(width = matchParent) }.lparams(width = dip(300)) { topMargin = dip(45) } linearLayout { gravity = Gravity.CENTER_VERTICAL orientation = HORIZONTAL backgroundResource = R.drawable.ic_tiaoxingkuang imageView { image = resources.getDrawable(R.drawable.ic_account) }.lparams{//布局参数 width = dip(40) height = dip(40) leftMargin = dip(12) rightMargin = dip(15) } et_account = editText { hint = "登录账户" hintTextColor = Color.parseColor("#666666") textSize = 16f //background = null }.lparams{ width = dip(255) height = dip(40) } }.lparams(width = dip(300), height = dip(40)){ topMargin = dip(20) } linearLayout { orientation = HORIZONTAL backgroundResource = R.drawable.ic_tiaoxingkuang gravity = Gravity.CENTER_VERTICAL imageView { image = resources.getDrawable(R.drawable.ic_password) }.lparams{ width = dip(40) height = dip(40) leftMargin = dip(12) rightMargin = dip(15) } et_password = editText { hint = "登录密码" hintTextColor = Color.parseColor("#666666") textSize = 16f //background = null }.lparams{ width = dip(255) height = dip(40) } }.lparams(width = dip(300), height = dip(40)){ topMargin = dip(10) } button("登录") { gravity = Gravity.CENTER backgroundColor = Color.parseColor("#1296db") textColor = Color.parseColor("#ffffff") onClick { if (et_account.text.toString().isNotEmpty() && et_password.text.toString().isNotEmpty()){ var intent = Intent(this@MainActivity,RegisterActivity::class.java) //intent.setClass(this@MainActivity,RegisterActivity::class.java) startActivity(intent) //startActivity<MainActivity>(this@MainActivity,RegisterActivity::class.java) //startActivity<MainActivity>(this@MainActivity,RegisterActivity.javaClass) }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 © EagleAndroid") { textSize = 14f gravity = Gravity.CENTER or Gravity.BOTTOM }.lparams { bottomMargin = dip(35) weight = 1f } } }}
最近总kotlin开发遇到一个问题,就是在kotlin的UI dsl里面的onClick方法里建Intent对象,用startActivity()跳转,老是提示有错误,具体错误见图片,哪位对kotlin 熟悉,请帮忙看看是何原因,感谢