SurfaceView水平滚动

时间:2011-07-21 15:46:32

标签: android graph scroll surfaceview

我正在编写一个应用程序,它将创建一个图形并在SurfaceView上绘制它。最终图形需要能够实时更新,但是现在我希望SurfaceView可以水平滚动,以便用户可以看到所有数据。这可能吗?

2 个答案:

答案 0 :(得分:2)

您需要将自定义视图作为separeate类放在水平滚动视图中。当您创建自定义图形视图的实例时,通过覆盖onMeasure方法,告诉它根据图形的宽度调整自身大小:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {     
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);      

    this.setMeasuredDimension(graphWidth, graphHeight);
}

graphWidth = barLenghtInPixels * barCount + extraSpaceInPixels;

您可以使用自定义标记(例如<com.myApplication.GraphView...>)将自定义标记放置在xml布局中,或使用myScrollView.addView(myCustomView)并将其添加到HorizontalScrollView,然后再调用setContentView(myLayout)。< / p>

答案 1 :(得分:1)

将Horizo​​ntalScrollView元素放置在曲面视图中。查看HorizontalScrollView documentation

中的gatherTransparentRegion(区域区域)