我有一个自定义视图,我设法使用这篇文章在其上启用滚动条:Android:在基于画布的视图上启用滚动条。问题是我无法滚动它们,即使我覆盖了计算函数。下面是创建视图的代码:
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; }
正如我所说,我看到了滚动条,但滚动不起作用。感谢您的任何帮助。
最后,
我只是使用视图的scrollBy和scrollTo方法来在onTouchEvent函数中自己进行滚动。