画面制御

Androidアプリ開発

SwitchCompatのテキストを右側に表示

SwitchCompatで選択した状態をユーザに伝える場合、状態をテキストで表示することが望ましいです。SwitchCompatのテキスト表示は左側でそのままでは不自然です。SwitchCompatのテキスト表示を右側にする実装を紹介します
Androidアプリ開発

ドラッグ&ドロップで移動可能なViewGroup

フリーレイアウトで自由に移動できるViewGroupの実装を紹介します。layoutを使用することで移動は可能ですが、親ViewGroupが子ViewGroupやViewの位置を確定させているため、再描画の際に元の位置に戻る問題が発生します
Androidアプリ開発

スワイプ操作でアイテムが消えないRecyclerview

ItemTouchHelperのスワイプ(onSwiped)は、アイテムがリストから消滅した時点でイベント発生します。削除前に確認メッセージを表示する場合に違和感があります。今回はスワイプ操作でアイテムがリストから消滅しない実装を紹介します
スポンサーリンク
Androidアプリ開発

Buttonのタップエフェクト

Buttonのタップ時にフィードバックがない場合、タップの有無が判断できません。解決策のひとつとして、タップ音をSoundPoolで実装する方法がありますが、消音時は効果がありません。今回は、Buttonのタップエフェクトの実装を紹介します
Androidアプリ開発

Recyclerviewのアイテム選択エフェクト

ListViewではアイテム選択時に背景がグレー表示になり、選択しているアイテムを判別できます。RecyclerViewではアイテム選択時のグレー表示がありません。Recyclerviewでアイテム選択時のエフェクトの実装方法を紹介します
Androidアプリ開発

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

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

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

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

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

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

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

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

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

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