初めてのkotlin

kotlinによるAndroidアプリ開発での気付き

2020-09-01から1ヶ月間の記事一覧

バナー広告を設置する

Androidアプリを作れば、やはり収益に結びつけたくなるのが人情。 と言うわけで、バナー広告を設置します。 但し、ここではサンプルIDを用いて広告が表示されるのを確認するまでとします。 実際にアプリを公開する際には、 自身でIDを発行し、それに差し替え…

キーボードを隠す

EditTextにフォーカスを当てるとソフトウェアキーボードが表示されます。 でも、そのキーボードは、入力が完了しても表示されたままなのですよね。 で、ネットで調べるとonFocusChangedイベントで非表示にすればいいと書かれたものが多いのですが、 フォーカ…

リソースが見えなくなったら

Javaのコードをkotlinに変換した時によく遭遇するのですが、 リソースデータが見えなくなることがあります。 そんな時は、おかしなファイルがimportされていないかどうかをチェックしてください import android.R この行を消せば直ります。

ディスプレイ周りの各種サイズの取得

ステータスバーやナビゲーションバーなど、 画面関係のサイズや座標を取得します。 activity引数には、Activityから呼び出す時はthisを指定すればOKです。 ディスプレイサイズの取得 fun getRealDisplaySize(activity: Activity): Point { val outSize = Poi…

ボタンのマークをテキストの右に置く

kotlinの話ではないですが...(^^; チェックボックスもラジオボタンも、 普通に設置するとマークはテキストの左に表示されます。 これを右にするための設定です(必要な部分だけ)。 <CheckBox ・・・ android:button="@null" android:drawableRight="?android:attr/listChoiceIndicatorMultiple" /> </checkbox>

オプションメニューにボタンを付ける

オプションメニューに、チェックボックスとラジオボタンを付けます。 また、ラジオボタンはサブメニュー化します。 注意点としては、選択状態の切替えは、自分でプログラムを書くこと。 何も書かないと、クリックしても選択状態にはなりません。 res\menu\me…

オプションメニューを設置する

アプリバーとかアクションバー、ツールバーなどと呼ばれるタイトルバー部分に、 オプションメニューを付ける方法です。 まずは、リソースデータから。 res\menu\menu_main.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> </menu>

Error inflating class

コンパイルは通るのに、実行時に落ちる。 java.lang.RuntimeException: Unable to start activity ~: Binary XML file line ~: Error inflating class ~ デバッガで確認してみると、リソースが原因で落ちている模様。 ネットで調べてみると、リソースがみ…

イベントリスナの書き方でthisの意味が変わる

kotlinでは、SAM変換を利用してシンプルな形でイベントリスナを記述できますが、 正規の書き方で書いた時とシンプルな形で書いた時で、 thisが違うものを指します。 今回、イベント内でthisを使う必要が出て、気付きました。 kotlin流 button.setOnClickList…

クラスの書き方

カスタムViewの書き方 class CustomView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : RelativeLayout(context, attrs, defStyleAttr) { ・・・ init { ・・・ } } 上記サンプルはRelativeLayout…