プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Java(Android)、スクロールエリアの色を変える-スクロールバーあれこれ(4)
レイアウト用のXMLのお話です。
まず最初に「スクロールエリアってどこよ?」なあなた。
小難しく言うと「スクロールバー用描画領域」です。
要はスクロールバーの棒がぐりぐり動ける範囲。
スクロールバーの棒の部分はスクロール棒・・ではなく
スクロールボックスと呼ぶそうです。

イメージとしては線路がスクロールエリア、電車がスクロールボックス
二つ合わせてスクロールバーってなところですかね。

ほんでスクロールエリアの色を変えるのはこんな感じφ(--)
念の為に言っておきますがスクロールバーの色を変えるのと殆ど同じです。

1.スクロールエリアのレイアウト用XMLファイルを用意する
 私は試しに「res/drawable/scroll_track_back.xml」で用意しました。
 中身はこんな感じφ(--)

  <?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android">
   <gradient android:startColor="#0000FF"
   android:endColor="#FFFFFF"
   android:angle="0" />
   <corners
   android:radius="20dp" />
  </shape>


 「<shape>~</shape>」ってのは背景とか形とかを定義する奴と思いねぇ。
 「<gradient>~</gradient>」は文字通りグラデーションの設定。
 「startColor」が始まりの色で「endColor」が終わりの色。
 「angle」ってのは角度。0度だと左から右、90度で下から上です。
 「<corners android:radius="20dp" />」は角の丸み。

2.「1.」で作成したスタイルを割り当てる。(横スクロールバーの場合)
 横スクロールバーは「android:scrollbarTrackHorizontal」で設定します。
 こんな感じφ(--)

 <HorizontalScrollView
  android:id="@+id/horizontalScrollView1"
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:fadeScrollbars="false"
  android:android:scrollbarThumbHorizontal="@drawable/scroll_back"

  android:android:scrollbarTrackHorizontal="@drawable/scroll_track_back"
  >
  <LinearLayout android:id="@+id/linearLayout2"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
  >

    ~うんちゃらかんちゃら~

  </LinearLayout>
 </HorizontalScrollView>


3.「1.」で作成したスタイルを割り当てる。(縦スクロールバーの場合)
 縦スクロールバーは「android:scrollbarTrackVertical」で設定します。
 こんな感じφ(--)

 <HorizontalScrollView
  android:id="@+id/scrollView1"
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:fadeScrollbars="false"
  android:scrollbarThumbVertical="@drawable/scroll_back"

  android:scrollbarTrackVertical="@drawable/scroll_track_back"
  >
  <LinearLayout android:id="@+id/linearLayout2"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
  >

    ~うんちゃらかんちゃら~

  </LinearLayout>
 </HorizontalScrollView>


要はスタイルを用意して割り当てるってことですね。

スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:Android  thema:プログラミング - genre:コンピュータ  Posted by ササキマコト 

  関連記事