0

ScrollView を拡張する独自のクラスを作成しますが、スクロール バーは消えます。ページをスクロールするときにスクロールバーを表示するにはどうすればよいですか。これは私のクラスのコードです:

package se.nindev.restaurant.views;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ScrollView;

public class ScrollViewer extends ScrollView {
    private float mLastX;
    private float mLastY;
    private float mDiffX;
    private float mDiffY;

         public ScrollViewer(Context context) {
          this(context, null);
         }

         public ScrollViewer(Context context, AttributeSet attrs) {
          this(context, attrs, 0);
         }
         public ScrollViewer(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
         }

//       @Override
//       public boolean dispatchTouchEvent(MotionEvent ev){
//           return super.dispatchTouchEvent(ev);
//       } 
         @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
             switch (ev.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    // reset difference values
                    mDiffX = 0;
                    mDiffY = 0;

                    mLastX = ev.getX();
                    mLastY = ev.getY();
                    break;

                case MotionEvent.ACTION_MOVE:
                    final float curX = ev.getX();
                    final float curY = ev.getY();
                    mDiffX += Math.abs(curX - mLastX);
                    mDiffY += Math.abs(curY - mLastY);
                    mLastX = curX;
                    mLastY = curY;

                    // don't intercept event, when user tries to scroll horizontally
                    if (mDiffX > mDiffY) {
                        return false;
                    }
             }
        return super.onInterceptTouchEvent(ev);
        }
}

さらに、スクロールビューでページの中央をスクロールすると、ページの上端と下端にグラフィック効果がありますが、私のクラスではその効果はありません。通常のスクロール ビューからクラスにすべての効果を追加するにはどうすればよいですか?

編集:わかりましたスクロールバーを追加します:android:scrollbars="vertical"しかし、このグラフィック効果を追加する方法はまだわかりません

4

2 に答える 2

3
 ScrollView scrollView = new ScrollView(getContext());
 scrollView.setVerticalScrollBarEnabled(true);
 scrollView.setHorizontalScrollBarEnabled(true);
于 2012-06-21T10:40:07.217 に答える
0
android:background="@color/white"
android:fadingEdge="vertical"

背景のスクロールビューを白に変更し、フェードエッジを使用する必要があります

于 2012-06-21T11:36:48.843 に答える