ScrollView

ScrollViewの頁セット

ScrollViewのページ切り替えを行います。

①、一番の頁を移動する。   scrollViewText.scrollTo(0, 0); ②、前頁を移動する。   scrollViewText.scrollBy(0, - +HEIGHT+ ); ③、次頁を移動する   scrollViewText.scrollBy(0, +HEIGHT+ ); ④、最後のページを移動する。   scrollViewText.scrollTo(0, pages * +HEIGHT+ );//pages は(ScrollViewの総行数/毎頁で表示される行数)の値 __ を標識する %{color:red}HEIGHT% はアプリを実行する場合、ScrollViewの実際高さです。

カスタム化のScrollView

1、画像にscrolBarを付ける

①xml设定

1
2
3
4
5
6
7
8
9
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="1280dp"
    android:layout_height="693dp" >
    <ImageView
            android:id="@+id/imageViewShow"
            android:layout_width="1280dp"
            android:layout_height="693dp"
            android:layout_gravity="center_horizontal"
            android:scaleType="matrix" />

この部分は一つインメージを設定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<HorizontalScrollView
        android:id="@+id/scrollViewHorizontal"
        android:layout_width="1280dp"
        android:layout_height="4dp"
        android:layout_alignBottom="@+id/imageViewShow"
        android:scrollbarThumbHorizontal="@android:color/holo_blue_bright" >
        <TextView
            android:id="@+id/textViewHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
</HorizontalScrollView>

この部分はHorizontalScrollView(水平スクロールバー)を設定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<HorizontalScrollView
        android:id="@+id/scrollViewHorizontal"
        android:layout_width="1280dp"
        android:layout_height="4dp"
        android:layout_alignBottom="@+id/imageViewShow"
        android:scrollbarThumbHorizontal="@android:color/holo_blue_bright" >
        <TextView
            android:id="@+id/textViewHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
</HorizontalScrollView>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<ScrollView
        android:id="@+id/scrollViewVertical"
        android:layout_width="4dp"
        android:layout_height="693dp"
        android:layout_alignRight="@+id/imageViewShow"
        android:scrollbarThumbVertical="@android:color/holo_blue_bright" >
        <TextView
            android:id="@+id/textViewVertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
</ScrollView>
</RelativeLayout>

この部分はScrollView(垂直スクロールバー)を設定する

②ソースで下記のように設定する

1
2
3
4
5
6
7
8
private void initScrollBar(){
  TextView textViewHorizontal=(TextView)findViewById(R.id.textViewHorizontal);
  TextView textViewVertical=(TextView)findViewById(R.id.textViewVertical);
  //水平スクロールバーの幅を設定する
  textViewHorizontal.setWidth(0);
  //垂直スクロールバーの高さを設定する
  textViewVertical.setHeight(0);
}

効果図:

2、HorizontalScrollViewとScrollViewの使用(touchイベントの衝突を避ける、「onInterceptTouchEvent」メソッドを使用する)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
//スクロール可能の場合、スクロール事件を実行する、スクロール不可の場合、touch事件を実行する
    if (enableScroll==true){
    try{
        return super.onInterceptTouchEvent(ev);
    }
    catch(Exception e){
        return false;
        }
    }
    return false;
}
//スクロールとtouchイベントの衝突を避ける、enableScrollはtrueの場合、スクロール可能、falseの場合、スクロール不可
public void setEnableScroll(boolean enableScroll){
    this.enableScroll=enableScroll;
}