1. 程式人生 > >使用Kotlin優雅的開發Android應用,附demo

使用Kotlin優雅的開發Android應用,附demo

 lateinit var et_account: EditText    lateinit var et_password: EditText    inner class LoginUi : AnkoComponent<LoginActivity> {        override fun createView(ui: AnkoContext<LoginActivity>) = with(ui) {            verticalLayout {                backgroundColor = context.resources.
                                 getColor(android.R.color.white)                gravity = Gravity.CENTER_HORIZONTAL                imageView(R.mipmap.ic_launcher).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 = 16f                        background = null                    }                }.lparams(width = dip(300), height = dip(40)) {                    topMargin = dip(45)                }                linearLayout {                    orientation = HORIZONTAL                    backgroundResource = R.drawable.bg_frame_corner                    gravity = Gravity.CENTER_VERTICAL                    imageView {                        image = resources.getDrawable(R.mipmap.ic_password)                    }.lparams {                        leftMargin = dip(12)                        rightMargin = dip(15)                    }                    et_password = editText {                        hint = "登入密碼"                        hintTextColor = Color.parseColor("#666666")                        textSize = 16f                        background = null                    }                }.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")                    onClick {                        if (et_account.text.toString().isNotEmpty() &&
                                 et_password.text.toString().isNotEmpty())                            startActivity<MainActivity>()
                                 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 © Code4Android") {                    textSize = 14f                    gravity = Gravity.CENTER or Gravity.BOTTOM                }.lparams {                    bottomMargin = dip(35)                    weight = 1f                }            }        }    }

相關推薦

使用Kotlin優雅開發Android應用demo

 lateinit var et_account: EditText    lateinit var et_password: EditText    inner class LoginUi : AnkoComponent<LoginActivity> {        override

關於使用eclipse開發android應用更換jdk1.8之後遇到的eclipse閃退以及更換jdk1.7之後執行專案報錯:Unsupported major.minor version 52.0

因為公司專案的原因,開發工具一直使用eclipse。也是上次專案的原因,需要把jdk從1.7轉為1.8才可以使用。至此“厄運”降臨,eclipse經常在使用的過程中會閃退。然而,再將jdk轉成1.7之後又有新的問題,工程執行不了報錯:Unsupported major.mi

使用Kotlin開發Android應用

1、Kotlin介紹 [Kotlin](https://kotlinlang.org/) Kotlin是一門基於JVM的程式語言,它正成長為Android開發中用於替代Java語言的繼承者。Java是世界上使用最多的程式語言之一,當其他程式語言為更加便於開

Android NFC技術解析Demo原始碼

NFC是Near Field Communication縮寫,即近距離無線通訊技術。可以在移動裝置、消費類電子產品、PC 和智慧控制元件工具間進行近距離無線通訊。簡單一點說,nfc功能是什麼?nfc功能有什麼用?其實NFC提供了一種簡單、觸控式的解決方案,可以讓

讓你可以更簡單地用 Kotlin 開發 Android 應用

anko anko 是一款結合kotlin語言拋棄佈局xml的工具,使用他就可以不用寫佈局xml程式碼了 舉個栗子 如果我們需要實現一個功能 點選按鈕toast彈出輸入框輸入的字元(如下效果圖) 效果圖 普通方式實現這樣一個功能,可能我們會這麼做 建立佈局xml檔案<

教你如何開發一款實用的完整Android App原始碼

熱文導讀 | 點選標題閱讀作者:OCNYang連結:https://juejin.im/post

android通訊錄開發 增刪改查(Demo)

不廢話,直接開擼 主要邏輯程式碼如下 單查詢/增加聯絡人 /** * 寫入手機聯絡人 */ private void writeContact() { String name = "test";

Android整合百度定位超詳細拒絕坑demo!!!

package com.demo.mybaidumapdemo; import android.util.Log; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com

android 手機與藍芽裝置之間連線與通訊DEMO下載地址

下載地址為文章最後面。。。 該文章主要用於手機藍芽App介面的操作和通訊,儲存到本地的通訊後資料txt文字檔案 1.主要包括介面            2.AndroidManifest.xml需要用到的許可權 <uses-permission and

優雅退出 Android 應用程序的 6 種方式

home鍵 應用 一點 container new 出棧 manage 而且 rec 一、容器式建立一個全局容器,把所有的Activity存儲起來,退出時循環遍歷finish所有Activity import java.util.ArrayList; impor

用Macbook開發桌面應用使用Alamofire鏈接.Net Core Webapi的註意事項!

結果 放棄 ads http 代碼 content ipaddress span rec ------------https方式----------------------- 因為Swift9之後訪問接口只能使用https,所以在後臺加入pfx文件(怎麽生成,自行百度吧)1

C#使用Xamarin開發Android應用程序 -- 系列文章

android界面 百度 0.11 itl 利用 設備 android安裝 tor href Xamarin開發Android應用程序 利用Xamaria構建Android應用-公交發車信息屏 Xamarin版的C# SVG路徑解析器 C#使用Xamarin開發可移植

Android 鬧鐘實現demo

可變時間格式:"yyyy-MM-dd HH:mm:ss" 儲存鬧鐘時間: SimpleDateFormat df = new SimpleDateFormat("HH:mm");//設定日期格式 String thistime = df.format(new Date())

微信小程式開源專案庫集合demo下載

微信小程式開源專案庫集合,附demo下載 UI元件 weui-wxss ★852 - 同微信原生視覺體驗一致的基礎樣式庫 Wa-UI ★122 - 針對微信小程式整合的一套UI

使用C#開發Android應用之WebApp

近段時間瞭解了一下VS2017開發安卓應用的一些技術,特地把C#開發WebApp的一些過程記錄下來, 歡迎大家一起指教、討論,廢話少說,是時候開始表演真正的技術了。。 1、新建空白Android應用 2、拖一個WebView控制元件進來 3、開

關於eclipse下開發android應用的幾個常用外掛

  1.adt外掛 https://dl-ssl.google.com/android/eclipse/    這肯定是不能少了的.有這個外掛,其實是將eclipse打造成了一個高階的android應用開發IDE,必要性可想而知.     2.egit外掛 http://d

用 Golang 開發 Android 應用(六)

用 Golang 開發 Android 應用 -- Camera 使用 計劃按以下的內容更新 Android 中的 Camera Demo 程式碼說明 Camera2

Xamarin開發Android應用打包apk

Visual Studio中用Xamarin開發Android應用,生成apk檔案有3種方法 1、debug時,程式碼目錄下bin\Debug中會自動生成除錯用***-Signed.apk檔案,但是檔案Size非常大,不建議使用。 2、Release時,“部署”勾選√,生成--部署解決方案後,程式碼目錄下

Linux環境下開發Android程式adb不識別meizu MX2手機

問題: Linux環境下編寫Android程式,將meizu MX2手機連線到電腦上,adb不識別該裝置,顯示如下: List of devices attached  ????????????    no permissions 原因: 1. 在linux下開發an

使用kotlin開發android

近期應為工作原因得寫android的程式, 作為習慣於使用python, ruby, scala語言的開發者來說, 使用java這是一個很痛苦的,  所以開始尋找替換品. 在選擇語言上一般我會有以下考慮: 相容java上面的類庫 可以使用lambda 可以拓展語言本身 由