23

このスクロールバーの作成方法:

4

2 に答える 2

30

サム イメージを変更するには、次のスタイルを作成して ScrollView に適用するだけです。

<style name="your_style_name">  
    <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
    <item name="android:scrollbarStyle">outsideOverlay</item>
    <item name="android:scrollbars">vertical</item>
    <item name="android:fadeScrollbars">false</item>
    <item name="android:scrollbarThumbVertical">@drawable/scroller_thumb</item>
</style>

ここで、scroller_thumb はスクローラー サムのカスタム イメージです。

次の属性にも注意してください。

  1. 「android:fadeScrollbars」を false に設定して、サム イメージを永続的に保持します。
  2. ここに記載されているように、outsideOverlay に設定された「 android :scrollbarStyle」は、「ビューの端に描画され、オーバーレイされた」サム イメージを作成します。

ここで、必要な細い線をスクローラーの下に配置するには、線の画像を含む画像ビューを ScrollView の直接の子に追加するだけです (RelativeLayout の子を ScrollView の直接の子として使用すると、画像を上に配置できますビューの右側 - これが私の選択だったでしょう)。

以上です。

于 2013-01-23T19:20:18.953 に答える
11

android:scrollbarThumbVertical を設定することは最善の解決策ではありません。リストのサイズに応じて親指の画像が引き伸ばされます...

android:fastScrollThumbDrawable を使用することをお勧めします

次に例を示します。

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:fadeScrollbars="false"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbarSize="0dip"
    android:scrollbarStyle="outsideInset"
    android:fastScrollAlwaysVisible="true"
    android:fastScrollEnabled="false"
    android:scrollbars="vertical" />

次に、styles.xml AppTheme に追加します

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:fastScrollThumbDrawable">@drawable/scroller_style</item>
</style>

そして res/drawable フォルダーにファイルを作成します: scroller_style.xml とコンテンツ

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/scroller_active" android:state_pressed="true"/>
    <item android:drawable="@drawable/scroller"/>

</selector>

ここで、scroller はサム イメージで、scroller_active はアクティブなサム イメージです (オプション)

于 2013-12-04T20:24:58.250 に答える