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; } |