記録

主にAndroidアプリ開発に関する知見やその周辺に関わることについて記事をかいています

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

おしりセレブWETを2か月間使ってみた感想

おしりセレブWETって何かというと、簡単に言うと おしりを拭くようのWETティッシュ です。ウォシュレットとトイレットペーパーだけじゃ何かと不安で(あとごしごししたくない、痛いし)という理由で購入して2か月間使いました。 ネピア おしりセレブ ウエッ…

【Android】Layout PreviewのDefault Themeを設定する

AndroidManifest.xmlでapplicationにthemeを設定しているとレイアウトプレビューのThemeにそれが反映される。

Navigation componentの暗黙的ディープリンクにはpathが必要

Navigation componentで m4kvn://main のようなディープリンクの設定をしたけど全然機能してくれないから何故なのか調べた。 調べた結果、Merged Manifestで <data android:path="/" /> が設定されるので m4kvn://main のURIには反応しないということだった。 次の記事が参考になりま</data>…

ナビゲーションには原則がある

Android Developersにナビゲーションの原則が記載されている。 developer.android.com まとめると以下のようになる(細かい内容は上記を読む) 最初に表示される固定の画面が必要で必ずバックスタックの最下層にある アップボタンとバックボタンは同じ機能を…

DialogFragmentでViewBindingを利用する

DialogやFragmentの layoutInflater を使ってViewBindingをinflateして、Dialogの setContentView にわたす。クリック時にDialogをdismissしたい場合などは先にDialogを作っておいて dialog.dismiss() をすれば良い。 class HogeDialogFragment : DialogFrag…

MenuItemの文字色を動的に変更する

MenuItemのtitleにSpannableStringBuilderで加工したテキストを渡してあげる。なので色以外も変更できる。 val titleText = menuItem.title val builder = SpannableStringBuilder(titleText) val colorSpan = ForegroundColorSpan(color) builder.setSpan(c…

GroupieでViewBindingを簡単に利用する

GroupieのViewHolderから itemView でViewが使えるので、これを利用して ViewBinding.bind(viewHolder.itemView) をしてあげるだけで良い。かなり簡略的だが、実際は次のように使う。 class HogeItem : Item<ViewHolder>() { override fun getLayout(): Int = R.layout.i</viewholder>…

BashでN%実行を行う

Bashの $RANDOM を利用する。あとは演算子の -lt を使ってif文で処理する。 #!/bin/bash if [ $(($RANDOM % 100)) -lt 10 ]; then echo -n "." >> README.md git add -A git commit -m "Add dot" git push origin main fi 上記は10%の確率で処理するコード。

ConstraintLayoutのFlowにViewを動的に追加する

追加するViewに View.generateViewId() 等でIDの設定と、ConstraintLayout.LayoutParams を設定する。 val subBinding = ViewSubBinding.inflate(layoutInflater) subBinding.root.id = View.generateViewId() subBinding.root.layoutParams = ConstraintLay…