2015/02/05(Thu)
AndroidのListViewでスクロールバーを右端に配置する
ListViewに余白(paddingなど)を付けた場合でも、スクロールバーの位置を画面の右端に配置したい。
また、スクロールした時に、上下の余白部分が気になるので、見栄え良く上下の端までスクロールしてほしい。
これらを解決するには、ListViewの属性に以下の2つを追加します。
- clipToPadding="false"
- 描画範囲をpadding領域内に制限しない。デフォルトはtrue。
- scrollbarStyle="outsideOverlay"
- スクロールバー用の領域を確保せず(overlay)、バーをpadding領域の外側に揃える(outside)。
例:
<ListView
android:id="@+id/my_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
/>
下にある参考サイトにて、付加する前と後の違いをgif画像で確認できます。
参考サイト:



