我正在使用自定义视图和自定义视图的双倍大小的绘图线
以下是我在xml中的自定义视图
<HorizontalScrollView
android:layout_width="780dp"
android:layout_height="300dp"
android:layout_x="20dp"
android:layout_y="180dp">
<com.john.TestApp.ScrollLineView
android:id="@+id/RectroGraphView"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
>
</com.john.TestApp.ScrollLineView> </HorizontalScrollView>
这是我的ScrollLineView视图类代码。正如您所看到的,我的行是自定义视图的两倍以上。但是当我跑步时,它甚至没有绘制任何线条。
我希望每当我的行超出规模时,自定义视图都必须可滚动。
public ScrollLineView(Context context, AttributeSet attrs)
{
super(context, attrs);
pTestPaint.setColor(Color.RED);
setHorizontalScrollBarEnabled(true);
setWillNotDraw(false);
}
@Override
protected void onDraw(Canvas StoredPlotCanvas)
{
super.onDraw(StoredPlotCanvas);
StoredPlotCanvas.drawLine(0, 150, 2500, 150, pTestPaint);
StoredPlotCanvas.drawLine(0, 200, 1000, 200, pTestPaint);
}
任何帮助?
答案 0 :(得分:0)
可以这样做,但您需要在ScrollLineView类中覆盖并实现自定义onMeasure
方法。然后,无论何时绘制线条,您都需要调用requestLayout()
并在onMeasure
方法中调整视图大小,以便可以滚动它。
在我看来,在ScrollLineView中实现自定义滚动会更好。您只需要调整当前绘制的偏移量。