いわたんち

いわたんちは概念となりました

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

Jetpack ComposeでButtonの影を消す

Buttonでelevation=nullを指定すればOK。Modifier.shadowでは駄目です。 Button( modifier = Modifier.size(134.dp, 50.dp), shape = RoundedCornerShape(100), // こっちは角丸にしてくれるやつ elevation = null, // これが影を消してくれる onClick = {},…

JavaなFragmentでJetpack Composeを使う時にsetViewCompositionStrategyの指定

kotlinなら view.setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) なんだけども、Javaだと view.setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed.INSTANCE); とINSTANC…

Jetpack Composeでサイズに関係なく左右が角丸になるボタンを作る

こんな感じにサイズに関係なく左右が角丸になっているボタンを作る RoundedCornerShape に パーセント指定できるInterface があるのでそれで100%を指定するだけ 謎にハマったところで以下のようにJetpack Composeのパラメータを IntSize で生成すると Common…

Jetpack Composeで高さを小さくしたTextFieldを作る

こんな感じにIcon、Text、Iconを表示したTextFieldを用意して高さを標準よりも少し小さくしたい場合の対応方法です。 こんな感じでModifier.heightで高さを標準よりも小さくすると var text by remember { mutableStateOf("") } TextField( modifier = Modif…

Android Stuido Arctic FoxでシステムUIの日本語が豆腐になったときにやる設定

Android Studio Arctic Foxでなんかフォントが変わったのか日本語が豆腐表示になってたので解決方法。 図の場所のチェックを入れると、指定フォントを使うようになるので日本語対応しているフォントに変更すると、文字化けが解消される。 追記:2021/08/02 .…

退職エントリ2021

様式美の写真がコロナ禍で撮れなかったのでMacで代用。お気持ちを残しておくためにも退職エントリを書いておく。 2018年8月にDeNAに入って2020年4月に事業承継でMobility Technologiesに転籍になりましたが、 2021年7月15日を最終勤務日にして1.5ヶ月ほど有…

既存のNavigationとJetpack ComposeのNavigationを併用する時の注意

"androidx.navigation:navigation-compose:2.4.0-alpha04" をimplementationに入れてビルドすると Class 'Xxx' is not abstract and does not implement abstract member public abstract val actionId: Int defined in androidx.navigation.NavDirections '…

bugspotsをDokcer上で動かす

bugspotsの依存ライブラリが現在の環境だと動かない状態だったのでGemfileを用意して動かした手順 Gemfileの中身 source 'https://rubygems.org' gem 'rugged', '0.21.0' gem 'bugspots' Dockerfileの中身 FROM ruby:2.3 RUN apt-get update && apt-get inst…

JetpackComposeで無限ループで値を変える

rememberInfiniteTransition と animateFloat を組み合わせて、更にイージングを LinearEasing にすることで無限ループで値が一定間隔で変化する val infiniteTransition = rememberInfiniteTransition() val time by infiniteTransition.animateFloat( init…

マッサージガンMYTREX REBIVEを買った

在宅勤務も1年以上してきて急に肩こりからくる頭痛が毎日のように襲ってくるようになったのでマッサージガンを試しに買ってみた 創通メディカル トータルボディケア マイトレックス リバイブ MYTREX REBIVE MT-RBN20G MYTREX (MYTREX REBIVE)メディア: 買っ…

CorotineScopeでの注意点

class HogeFragment() : Fragment() { // 1 val scope = lifecycleScope + errorHandler // 2 val scope = viewLifecycleOwner.lifecycleScope + errorHandler // 3 val scope get() = viewLifecycleOwner.lifecycleScope + errorHandler override fun onVie…

息子が2歳になったので振り返る

出来るようになったこと めっちゃ色々な事が1年で出きりるようになった。人間の成長って凄く早い。 言語系 簡単な言葉での会話 あいさつ お辞儀もする ばいばい 手を精一杯振る姿はかわいい ありがとう あーとと言う 見て 見せてと言う いてきまーす、ただい…

Firestoreの値をcallbackFlowとasLiveDataを組み合わせて使う

まとめ callbackFlowを使えばFirestoreのリアルタイムアップデートをFlow化できる FlowをasLiveDataする時はgetterじゃなくて代入するようにしないとViewが生きている間はFlowが永遠と生成される callbackFlow こんな感じでFireStore上のデータをコールバッ…

RecyclerViewでスクロールを無効化する

layoutManagerで対応できる binding.recyclerView.apply { layoutManager = object : LinearLayoutManager(context) { override fun canScrollVertically(): Boolean { return false } } }

Slackでマルチチャンネルゲストがユーザーグループに追加出来ない問題への回避策

マルチチャンネルゲストがSlackのユーザーグループに追加できなくてメンション漏れが起こるので回避策 ↑これの次の追加する画面でマルチチャンネルゲストは選べない なので、ユーザーグループへメンションがあったらSlackBotで反応することにした。 https://…

DataBindingでXMLのみでクリック時のNavigationを完結させる

ViewModelにクリック時のメソッド用意してDatabindingで指定して〜とかってやるのが面倒だったのでサクッとレイアウトのXMLのみで完結させる方法 NavigationとRをimportして、Navigationのメソッドを使うことで実現出来る。 popBackStackしたいだけならRのim…

WH-1000XM4を買った

WH-1000XM4を買った。楽天のポイント使ったりして実質3万切ったので買ってしまった。 ソニー ワイヤレスノイズキャンセリングヘッドホン WH-1000XM4 : LDAC/Amazon Alexa搭載/Bluetooth/ハイレゾ 最大30時間連続再生 密閉型 マイク付 2020年モデル ブラック …