我有自定义视图,并设法使用此帖子启用滚动条: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; }
正如我所说,我看到滚动条,但滚动不起作用。 谢谢你的帮助。
答案 0 :(得分:0)
最后我只是使用视图的scrollBy和scrollTo方法在onTouchEvent函数中自己滚动。