Kotlinプロジェクト作ってみた!

Kotlinも1.0になったので、Kotlinの導入手順を残します。
以下の手順で、JavaとKotlinの併用も行えます。

app/build.gradleを変更します。

差分は、以下のコミットから見て下さい。
https://github.com/akifumi/KotlinTrial/commit/0fd41ba7824f7ca3e98e4d92b7fc918879c53621#diff-39e7d8c00954e920b98e7636f0ac30b2
上記の差分でKotlinを導入することができます。

以下のコードで、Kotlinファイルを配置するパスを忘れずに記述しましょう!

 

Kotlinファイルを追加するとConfigure Kotlinとアラートが出るので、実行しましょう。
以下のような差分ができます。
https://github.com/akifumi/KotlinTrial/commit/901ed5d609b7862a8c3ed35f89f3fe17c6f116cf

最後に、MainActivity(Java)からMainFragment(Kotlin)を呼び出すサンプルコードを作成したので添付しておきます。
https://github.com/akifumi/KotlinTrial/commit/446163e5fa0600c3cc3e1115653e8286fea9b180

コード保管や実行も問題なく動作していそうなので、既存のJavaプロジェクトのKotlin移行も徐々に行うそうな印象です!
ライブラリの対応具合も気になるところなので、後ほど調査したいと思います。

以下に今回のサンプルプロジェクトを置いておくので、興味のある方はどうぞ!
https://github.com/akifumi/KotlinTrial

 

【Android開発】画像で切り替えるボタンの実装

Android開発で、ボタンのON/OFF切り替えを画像で行うことがあったのですが、かなり多くのやり方があり、手間取りました。
いろいろ試した結果、自分なりの答えが出たので残しておきます。

今回は、ImageButtonとToggleButtonの2つを使った実装方法を示しておきます。

  1. selectorの作成

最初にON/OFFの画像の状態を持つselectorを作成します。

android:state_selectedでON/OFFの状態を入れ替えます。
android:state_activeやandroid:state_pressedでも画像の切り替えはできるのですが、
押している状態との区別や、ImageButton/ToggleButtonとの兼ね合いで、
android:state_selectedを使用しました。

  1. ImageButtonの作成


ImageButtonの場合、srcにselectorを指定することで、画像を指定することができます。
android:background=”@android:color/transparent”で背景色を透明にしています。

  1. ToggleButtonの作成


ToggleButtonの場合、backgroundでselectorを指定します。
その際、ON/OFFの文字列に明示的に空文字を指定する必要があります。

  1. トグルの実装

最後にボタンのトグル機能の実装です。
実際にはアプリの実装要件に応じて、selectedにセットする値を変えてください。
今回は、単純に逆の値を入れる実装にしました。

今回のサンプルをgithubにおいておくので、興味のある方はどうぞ
https://github.com/akifumi/ToggleButtonSample

Android開発初心者ですが、頑張っていきます!