画面制御

Androidアプリ開発

RecyclerView スワイプ操作で画面遷移

ItemTouchHelperのスワイプでアイテムの削除とした場合は問題ありませんが、選択したアイテムで画面遷移とする場合に違和感があります。スワイプ操作でアイテムがリストから消滅しない、選択したアイテムで画面遷移する実装を紹介します
Androidアプリ開発

ViewGroup(レイアウト)に影をつける

Viewコンポーネントを立体的に見せる方法として、elevationに値を設定して影をつける方法が有効です。しかし、ViewGroupのelevationに値を設定しても影がつきません。今回は、ViewGroupを影をつける方法を紹介します
Androidアプリ開発

任意の処理を遅延実行するサブルーチン

値変化のイベントリスナーに処理を記述するケースで、イベントの発生間隔が短く、操作し難いことがあります。処理中に発生したイベントの無効化と処理の遅延実行することで改善できます。処理を遅らせて実行するサブルーチンを使用して、遅延処理の実装します
スポンサーリンク
Androidアプリ開発

画面遷移のヒストリーバック

Androidのナビゲーションバーには標準で戻るボタンが配置されています。前の画面に戻るためのボタンですが、アプリ側で処理を記述する必要があります。タブレイアウトの画面遷移で戻るボタンによるヒストリーバック機能の実装方法を紹介します
Androidアプリ開発

全画面モード時のホームボタンを実装する

動画やゲームなどのコンテンツでは、全画面で表示したくなります。全画面モードでナビゲーションバーを非表示にした場合、ワンタップでホーム画面に戻ることができなくなります。今回は全画面モードでナビゲーションバーの戻るボタンとホームボタンを使用できる実装を紹介します
Androidアプリ開発

Android16対応
(edge-to-edgeオプトアウト廃止の対応)

エッジ ツー エッジが無効化できない場合、ステータスバーやナビゲーションバーをアプリ領域に被らないようにレイアウトを制御する必要があります。Android14以下においてもエッジ ツー エッジを適用することでレイアウト制御の共通化が図れます
Androidアプリ開発

Android15対応
(edge-to-edgeの無効化)

Android15ではアプリのtargetSdkを35にすると、強制的にエッジツーエッジが適用され、アプリの表示領域にステータスバーとナビゲーションバーが被さって表示されます。アプリの対応として、エッジツーエッジを無効にする方法を紹介します
Androidアプリ開発

他のアプリのスクリーンショットを取得する
MediaProjection

Android5で画面に表示している内容をメディアストリームとしてキャプチャするMediaProjectionが追加されました。今回はMediaProjectionで実行中の他のアプリ画面のスクリーンショットを取得する実装を紹介します
Androidアプリ開発

他のアプリ画面の上に重ねて表示する
WindowManager

アプリの操作してる様子を録画したい、アプリの画面のスナップショットを取得したいなど、操作パネルを他のアプリの上に重ねて表示したいケースがあります。他のアプリの上に重ねて操作パネル(フローティングアイコン)を表示する実装を紹介します
Androidアプリ開発

Spinnerのドロップダウンで
ナビゲーションバーを表示させない

全画面モードでシステムバー(ナビゲーションバーやステータスバー)を非表示にしていても、Spinnerのドロップダウンでシステムバーが表示されます。この現象を回避するシステムバーを非表示にするカスタムSpinnerの実装方法を紹介します
スポンサーリンク