【Android】EditText の下線を消すEditTextの下線 EditTextはデフォルトで下線が表示されている。 <EditText android:layout_width="match_parent" android:layout_height="wrap_content" /> EditTextの下線を消す EditTextのandroid:backgoundプロパティを@nullにすると下線が消える。ANDROID 2022-08-11 2023-03-31
【Android,Kotlin】requireContext()でクラッシュするパターンと対応FragmentのrequireContext() FragmentのgetContext()はnullableだが、requireContext()メソッドでnullableではない値が取得できる。ANDROID 2022-08-11 2023-03-31
【Kotlin】Kotlinのnullチェックで早期return普通のnullチェック メソッドの冒頭でnullかどうかをチェックして以下のように処理を行なう。 nullならreturnする nullでないなら処理を行なう 例えばnullableな数値の足し算は以下のようになる。ANDROID 2022-08-11 2023-03-31
【Android,Kotlin】メニューの処理をMenuProviderにするNavigation ComponentでFragmentからメニューを表示する場合。 メニューの古い作りかた Navigation Component使用時にFragmentでApp Barのメニューを作るには以下の手順で実装していた。ANDROID 2022-08-09 2023-03-31
【Kotlin】Pair のリストを Map にするPair のリストを Map に変換する associate メソッドを利用すれば簡潔に書ける。 associate メソッドは「Pairを返す無名関数」を引数にとって、Mapを返す関数。 val pairs = listOf("a" to 1, "b" to 2) val map = pairs.associate { it } println(map) // => {a=1, b=2} オブジェクトのリストを Map に変換する Pairを返す無名関数を渡せばいいので、任意のオブジェクトに対しては以下のようにすればよい。ANDROID 2022-08-08 2023-03-31
【Android,Kotlin】メニューの状態の動的更新メニューの状態更新の流れ 流れは以下の通り。 メニューの作成時に状態を設定する メニューを更新したいタイミングでメニューをActivity#invalidateOptionsMenu()を呼んでinvalidateする メニューをinvalidateすれば1.の処理が再度走るので、1.で設定したい状態にする。ANDROID 2022-08-07 2023-03-31
【Android,Kotlin】Navigaton Component使用時に特定FragmentのApp Barのホームボタンを✕にする手順 Resource Managerで✕マークを追加する 【Android Studio】Vector Assetsの追加手順 を参考に✕マークを追加する。 close選択する。 Fragment#onCreateView でホームボタンを差し替える (activity as? AppCompatActivity) ?.supportActionBar ?.setHomeAsUpIndicator(R.drawable.ic_baseline_close_24)ANDROID 2022-08-07 2023-03-31
【Android Studio】Vector Assetsの追加手順手順 Resource Manager の追加メニューから Vector Asset を選択 Clip Artボタンをクリック アイコンを選択 Nextをクリック Finishをクリック 以上で追加完了。 Resource Managerを見ると追加できているのが確認できる。ANDROID 2022-08-07 2023-03-31
【Android,Kotlin】DialogFragmentでRecyclerViewのdividerをセットしても表示されないDialogFragment内のRecyclerViewでdividerが表示されない 普段RecyclerViewの行間の仕切り線を以下の様なコードで表示している。 (addItemDecoration) recyclerView.apply { this.layoutManager = linearLayoutManager this.adapter = adapter this.addItemDecoration( DividerItemDecoration(context, linearLayoutManager.orientation) ) } ActivityやFragmentの場合はこれでオーケーだが、DialogFragmentやBottomSheetDialogFragment内で利用しているときは表示されない。ANDROID 2022-08-07 2023-03-31
【Android,Kotlin】回転時に画面が初期化するのをなんとかする画面回転時の Android アプリの Activity 処理 Androidアプリは画面回転時にActivityの再生成処理が走る。 そのため、実装によっては例えばユーザーが入力した情報などが画面の回転によって消えてしまう。 途中まで入力した情報が消えてしまうとそれまでの労力が無駄となりユーザーにとってはとても煩わしい。ANDROID 2022-08-06 2023-03-31