記録

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

android

【Android】Java8(JDK_1_8)からJava11(JDK_11)にした場合のBitriseの設定変更

AndroidStudio Arctic Foxで新規にプロジェクトを作成するとプロジェクトのJavaSDKのバージョン情報が書かれている .idea/misc.xml で11が指定されています。 <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> </component></project>

【Android】Gradle Kotlin DSLからGroovy DSLに戻したはなし

先日つぎのような記事を会社のブログで執筆し公開した。 inside.pixiv.blog 僕が担当しているアプリでアプリケーションレベルのモジュール分割をしているはなしを書いた。そこで、前回の記事のリンクを貼ったところ「前回の記事でGradle Kotlin DSL使ってる…

【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>…

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

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

Androidアプリのマルチモジュールでユニットテストの結果をlintチェック結果と一緒にDangerでコメントする

前回、マルチモジュールでlintチェック結果をまとめてDangerでコメントする方法についての記事をかいた。 m4kvn.hatenablog.com 今回はこれのユニットテスト版もやってみようという話。ユニットテストの結果をDangerでコメントするためには orta/danger-juni…

Androidアプリのマルチモジュールでlintチェック結果をまとめてDangerでコメントする

Androidアプリ開発でマルチモジュールによる開発をすすめていた場合、Lintを実行すると各モジュールのbuildフォルダ配下にlintチェック結果のファイルが生成されます。もの挙動自体は正しくまったく問題はないのですが、GitHubを利用していてプルリクにDange…