Kotlinを使ってAndroid APIsをもっと面白くする
2364 ワード
Kotlinで最も好きな機能の1つは拡張機能で、クラスの機能を継承することなく拡張することができます.
Viewの高さの設定
Androidで動的にViewに高さを設定するのは煩わしいので、Kotlin拡張を使用すると、より楽になります.
あなたのviewインスタンスにheightを設定したい場合は、
ViewVisibilityの設定
viewをvisibleまたはgoneに設定するには
AssetファイルをStringに読み込む
次のコードを呼び出すことができます.
APIレベルでcolorリソースを取得
API 23の前に、1つのcolorリソースを取得するには
Inflate a Layout
JetBrainsのAnkoを使用してソースライブラリを開く
JetBrainsはAndroid開発をより簡単にするために多くの仕事をしています.彼らはAnkoライブラリに多くの拡張方法を作成し、カスタム拡張方法を作成することなく自由に使用することができます.
例えば、西戎サービスを取得するには、Ankoの使用がより簡単になります.
拡張プロパティは次のとおりです.
Androidには強力なAPIsがたくさんありますが、javaの制限を受け、Kotlinを使用すると、よりよく使われるAPIを作成することができます.
原文住所:https://m.signalvnoise.com/using-kotlin-to-make-android-apis-fun-again-14690975afb6
Viewの高さの設定
Androidで動的にViewに高さを設定するのは煩わしいので、Kotlin拡張を使用すると、より楽になります.
fun View.setHeight(height:Int){
val params = layoutParams
params.height = height
layoutParams = params
}
あなたのviewインスタンスにheightを設定したい場合は、
view.setHeight(newHeight)
を呼び出すだけで、超簡単です.ViewVisibilityの設定
viewをvisibleまたはgoneに設定するには
view.Visibility = View.VISIBLE
or view.visibility = View.GONE
を通過する必要がありますが、拡張方法があればこれを書く必要はありません.fun View.visible(){
visibility = View.VISIBLE
}
fun View.gone(){
visibility = View.GONE
}
view.visible()
とview.gone()
を呼び出すだけですAssetファイルをStringに読み込む
fun AssetManager.fileAsString(subdirectory:String,filename:String):String{
return open("$subdirectory/$filename").use{
it.readBytes().toString(Charset.defaultCharset())
}
}
次のコードを呼び出すことができます.
val json = context.assets.fileAsString("json","config.json")
APIレベルでcolorリソースを取得
API 23の前に、1つのcolorリソースを取得するには
context.getColor(R.color.my_color)
が使用されていましたが、23から新しいパラメータが追加されました.トピックリソースを指定する必要がなければ、より簡単に使用できるように、すべてのAPIレベルで実行できます.fun Context.color(@ColorRes id:Int) = when{
isAtLeastMarshmallow() -> resources.getColor(id,null)
else -> resources.getColor(id)
}
context.color(R.color.my_color)
を呼び出すと色が取得され、トピックリソースをデフォルトのオプションパラメータとして使用することもできます.Inflate a Layout
fun Context.inflate(res:Int,parent:ViewGroup?=null):View{
return LayoutInflater.from(this).inflate(res,parent,false)
}
context.inflate(R.layout.my_layout)
と書くことができますJetBrainsのAnkoを使用してソースライブラリを開く
JetBrainsはAndroid開発をより簡単にするために多くの仕事をしています.彼らはAnkoライブラリに多くの拡張方法を作成し、カスタム拡張方法を作成することなく自由に使用することができます.
例えば、西戎サービスを取得するには、Ankoの使用がより簡単になります.
val manager = context.notificationManager
拡張プロパティは次のとおりです.
val Context.notificationManager: NotificationManager
get() = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
Androidには強力なAPIsがたくさんありますが、javaの制限を受け、Kotlinを使用すると、よりよく使われるAPIを作成することができます.
原文住所:https://m.signalvnoise.com/using-kotlin-to-make-android-apis-fun-again-14690975afb6