2010年11月30日火曜日

Andoid android:scrollbarSize は バーの幅ではありません。

以前スクロールバーをカスタマイズするエントリを書きましたが、

「Android ScrollBar (ScrollView) スクロールバーをカスタマイズ」

 android:scrollbarSize はバーの幅ではなかったのです!

 いや、あの、リファレンス
 http://developer.android.com/reference/android/view/View.html#attr_android:scrollbarSize
 には、

  "Sets the width of vertical scrollbars and
  height of horizontal scrollbars."

 ってあるんですよ。バーの幅だと思うでしょ。。。

 それが、


<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbarSize="100dip"
>


とやっても、見た目に変化なし。





で、結論から言うと、

  android:scrollbarThumbVertical
 


  android:scrollbarTrackVertical

を定義して、かつ

android:scrollbarStyle に

 "insideInset" か "outsideInset"

を設定しないとだめです。

# デフォルトは insideOverlay だから気づきにくかった。。。




<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbarSize="100dip"
android:scrollbarStyle="insideInset"
android:scrollbarThumbVertical="@drawable/scrollbar_thumb"
android:scrollbarTrackVertical="@drawable/scrollbar_track"
>


この場合は、こうなります。




こういうのなんて言うのかな。
inset の幅?


 

0 件のコメント:

コメントを投稿