Androidアプリ開発 ドラムロールでアイテム選択 iOSアプリの時間選択で採用されているドラムロール式ユーザインタフェースをAndroidアプリで実装します。AndroidのドラムロールはNumberPickerを使用します。NumberPickerで数値以外を扱う場合に工夫が必要です 2026.01.25 Androidアプリ開発
Androidアプリ開発 SwitchCompatのテキストを右側に表示 SwitchCompatで選択した状態をユーザに伝える場合、状態をテキストで表示することが望ましいです。SwitchCompatのテキスト表示は左側でそのままでは不自然です。SwitchCompatのテキスト表示を右側にする実装を紹介します 2025.12.26 Androidアプリ開発
Androidアプリ開発 ドラッグ&ドロップで移動可能なViewGroup フリーレイアウトで自由に移動できるViewGroupの実装を紹介します。layoutを使用することで移動は可能ですが、親ViewGroupが子ViewGroupやViewの位置を確定させているため、再描画の際に元の位置に戻る問題が発生します 2025.12.13 Androidアプリ開発
Androidアプリ開発 スワイプ操作でアイテムが消えないRecyclerview ItemTouchHelperのスワイプ(onSwiped)は、アイテムがリストから消滅した時点でイベント発生します。削除前に確認メッセージを表示する場合に違和感があります。今回はスワイプ操作でアイテムがリストから消滅しない実装を紹介します 2025.12.01 Androidアプリ開発
Androidアプリ開発 Buttonのタップエフェクト Buttonのタップ時にフィードバックがない場合、タップの有無が判断できません。解決策のひとつとして、タップ音をSoundPoolで実装する方法がありますが、消音時は効果がありません。今回は、Buttonのタップエフェクトの実装を紹介します 2025.11.06 Androidアプリ開発
Androidアプリ開発 Recyclerviewのアイテム選択エフェクト ListViewではアイテム選択時に背景がグレー表示になり、選択しているアイテムを判別できます。RecyclerViewではアイテム選択時のグレー表示がありません。Recyclerviewでアイテム選択時のエフェクトの実装方法を紹介します 2025.10.13 Androidアプリ開発
Androidアプリ開発 ViewGroup(レイアウト)に影をつける Viewコンポーネントを立体的に見せる方法として、elevationに値を設定して影をつける方法が有効です。しかし、ViewGroupのelevationに値を設定しても影がつきません。今回は、ViewGroupを影をつける方法を紹介します 2025.09.11 Androidアプリ開発
Androidアプリ開発 任意の処理を遅延実行するサブルーチン 値変化のイベントリスナーに処理を記述するケースで、イベントの発生間隔が短く、操作し難いことがあります。処理中に発生したイベントの無効化と処理の遅延実行することで改善できます。処理を遅らせて実行するサブルーチンを使用して、遅延処理の実装します 2025.07.25 Androidアプリ開発
Androidアプリ開発 全画面モード時のホームボタンを実装する 動画やゲームなどのコンテンツでは、全画面で表示したくなります。全画面モードでナビゲーションバーを非表示にした場合、ワンタップでホーム画面に戻ることができなくなります。今回は全画面モードでナビゲーションバーの戻るボタンとホームボタンを使用できる実装を紹介します 2025.05.08 Androidアプリ開発
Androidアプリ開発 Android16対応(edge-to-edgeオプトアウト廃止の対応) エッジ ツー エッジが無効化できない場合、ステータスバーやナビゲーションバーをアプリ領域に被らないようにレイアウトを制御する必要があります。Android14以下においてもエッジ ツー エッジを適用することでレイアウト制御の共通化が図れます 2025.04.21 Androidアプリ開発