1

我有一个自定义视图,我设法使用这篇文章启用滚动条:Android: Enable Scrollbars on Canvas-Based View。问题是我无法滚动它们,即使我覆盖了计算函数。这是创建视图的代码:

final PaintBoardView paintBoardView=new PaintBoardView(this);
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(
        0,ViewGroup.LayoutParams.FILL_PARENT,(float)0.8);
paintBoardView.setLayoutParams(layoutParams);
ViewGroup boardToolsContainer=(ViewGroup)findViewById(R.id.board_tools_container);
boardToolsContainer.addView(paintBoardView);

这是视图的构造函数:

super(context);
setBackgroundResource(android.R.color.white);
setHorizontalScrollBarEnabled(true);
setVerticalScrollBarEnabled(true);
TypedArray styledAttributes=context.obtainStyledAttributes(
    R.styleable.View);
initializeScrollbars(styledAttributes);
styledAttributes.recycle();

和:

@Override public int computeHorizontalScrollRange() { return 2000; }
@Override public int computeVerticalScrollRange() { return 2000; }

正如我所说,我看到滚动条,但滚动不起作用。谢谢你的帮助。

4

1 回答 1

0

最后,我只是使用视图的 scrollBy 和 scrollTo 方法在 onTouchEvent 函数中自己进行滚动。

于 2012-06-09T13:25:22.070 回答