ScrollView无法捕捉动作

时间:2013-11-07 11:22:41

标签: android android-scrollview

根据我的previous question的答案,我正在制作一个高度自定义的滚动列表,我希望捕获子视图偏移(让基本的Android功能处理轻弹并在过度滚动时弹跳等)。

然而,偏移量总是返回0.想法非常重要

package com.example.svexample
import android.annotation.TargetApi;
import android.app.ActionBar.LayoutParams;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Build;
import android.util.Log;
import android.view.View;
import android.widget.ScrollView;
public class ScrollViewTest {
    private static final String TAG = ScrollViewTest.class.getSimpleName();
    private ScrollView sv;
    private View v;
    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    public ScrollViewTest(Context context) {
        v = new View(context);
        v.setBackgroundColor(Color.BLUE);
        v.setBottom(800); v.setRight(400);
        sv = new ScrollView(context);
        sv.setBackgroundColor(Color.RED);
        sv.setBottom(400); sv.setRight(400);
        //The next two lines don't seem to help...
        //LayoutParams lp = new LayoutParams(400, 600);
        //sv.setLayoutParams(lp);
        sv.addView(v);
    }
    public void draw(Canvas canvas){
        sv.draw(canvas);
        v.draw(canvas);
        Log.d(TAG, "Scroll is: " + sv.getScrollY());
    }
}

1 个答案:

答案 0 :(得分:0)

原来我需要将我的应用onTouchEvent提供给ScrollView,以便它是互动的(因为它是以编程方式创建的)。我会假设Android UI元素会自动执行此操作,但在这种情况下显然不会。