Android:不明白为什么画布不绘制我存储的路径

时间:2016-04-07 11:14:20

标签: android xamarin path draw

我使用了fingerpaint演示并修改它以进行多点触控。这部分都很好,路径按预期绘制。现在,我需要将这些路径存储到ArrayList中,所以当我在viewpager中滑动每个View时,我可以保持状态并重新绘制存储在内存中的那些路径。

这是我绘制画布的代码。

        protected override void OnDraw (Canvas canvas)
    {
        base.OnDraw (canvas);

        canvas.DrawBitmap (mBitmap, 0, 0, mBitmapPaint);

        if (Strokes != null && Strokes.Count > 0) 
        {
            for (int i = 0; i < Strokes.Count; i++) {
                var path = (Path) Strokes[i].Path; 
                canvas.DrawPath (path, Strokes[i].Pen);
            }   
        }
    }

我通过Stroke List的部分:

viewPagerAdapter.InitializedView += (object sender, PreviewPagerViewEventArgs e) => {
            if (mPageData.Count <= e.Position)
                mPageData.Add (e.Data); 
            else {
                var view = (DrawableView) GetVisibleView (e.Position);
                view.Background = new ColorDrawable(Android.Graphics.Color.Blue);
                view.Strokes = (List<StrokeData>) mPageData [e.Position];
                view.Invalidate();
            }
        };

我放置了一个子弹点,canvas.DrawPath确实通过但画布仍然没有被绘制

0 个答案:

没有答案