私は同じ問題を抱えていましたが、数時間の調査の後、解決策を思いつきました. この AOSP コミットが最も役に立ちました。Android 5.1 (SDK 22) でスクロールバーに加えられた変更が示されています: Update scrollbars to match Material spec
次の 2 つの可能性があります。

A: 新しいスタイルを使用し、パディングを追加します
これにより、API 21 (Android 5.1) と同じ新しい四角形が保持されますが、左右にパディングが追加されます。
1: fastscroll_thumb_material.xml を drawables フォルダーにコピーします。
これはコンテンツである必要があります (スペースを節約するために AOSP コメントを削除しました):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:tint="?attr/colorControlActivated"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<size android:width="8dp" android:height="48dp" />
</shape>
</item>
<item>
<shape android:tint="?attr/colorControlNormal"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<size android:width="8dp" android:height="48dp" />
</shape>
</item>
</selector>
2: テーマを編集する
次の項目をテーマに追加します。これをスタイルに入れて で使用できると思いますが、setFastScrollStyle
こちらの方が簡単だと思います。
<item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb_material</item>
3: fastscroll_thumb_material.xml を編集する
好みに合わせて編集できますが、スクロールバーの左右に8dpを追加する次のことを行いました。各シェイプの周りにレイヤー リストとアイテムを追加し、新しいアイテムにandroid:right="8dp"
とを追加しました。android:left="8dp"
元のアイテムにそれを追加しようとしましたが、うまくいきませんでした.形状にパディングを追加することもできませんでした.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item android:right="8dp" android:left="8dp">
<shape android:tint="?attr/colorControlActivated"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<size android:width="8dp" android:height="48dp" />
</shape>
</item>
</layer-list>
</item>
<item>
<layer-list>
<item android:right="8dp" android:left="8dp">
<shape android:tint="?attr/colorControlNormal"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<size android:width="8dp" android:height="48dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
B: スクロールバーを古いスタイルに変更する
これは、API 21、Android 5.0 スタイルを使用します
1: 古いドローアブルをプロジェクトに追加する
上記のコミット (fastscroll_thumb_mtrl_alpha.png および fastscroll_track_mtrl_alpha.9.png) からダウンロードできますが、バンドルも行っています。Google ドライブからダウンロードすることもできます。
2: fastscroll_thumb_material.xml をドローアブルに追加します
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<bitmap android:src="@drawable/fastscroll_thumb_mtrl_alpha"
android:tint="?attr/colorControlActivated" />
</item>
<item>
<bitmap android:src="@drawable/fastscroll_thumb_mtrl_alpha"
android:tint="?attr/colorControlNormal" />
</item>
</selector>
3: fastscroll_track_material.xml をドローアブルに追加します
<?xml version="1.0" encoding="utf-8"?>
<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/fastscroll_track_mtrl_alpha"
android:tint="?attr/colorControlNormal" />
4: テーマを編集する
次の項目をテーマに追加します。これをスタイルに入れて で使用できると思いますが、setFastScrollStyle
こちらの方が簡単だと思います。
<item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb_material</item>
<item name="android:fastScrollTrackDrawable">@drawable/fastscroll_track_material</item>
これがあなたの目標を達成するのに役立つことを願っています:)