向我的活动/片段添加绘图/绘画功能

时间:2015-07-12 15:29:07

标签: android android-fragments android-view

我对如何在现有系统中添加绘图/绘画功能感到困惑。我有一个Activity通过Tab Bar控制3个碎片,我希望能够在我的应用程序的Fragment屏幕上添加绘图/绘画。我的片段已经有了自己的视图/布局,包括复选框,文本视图等。

有谁知道我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

是的,你可以。还有一些库可以让你轻松完成。

请尝试这些,

我相信这会对你有所帮助。您可以选择直接在应用程序中使用这些库,也可以从源代码中学习并实现自己的库。

但我相信这些资源足以解决您的问题。

修改

CanvasView

为例

在你的片段XML中使用它,

<com.android.graphics.CanvasView
    android:id="@+id/canvas"
    android:layout_width="280dp"
    android:layout_height="280dp"
    android:layout_gravity="center_horizontal" />

在像这样的代码中引用视图,

public class DrawActivity extends Activity {
    private CanvasView canvas = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_draw);

        // Create the instance of CanvasView
        this.canvas = (CanvasView)this.findViewById(R.id.canvas);
    }

    // ....
}

您可以尝试各种自定义,

this.canvas.setDrawer(CanvasView.Drawer.PEN);               // Use Pen Tool
this.canvas.setDrawer(CanvasView.Drawer.LINE);              // Draw Line
this.canvas.setDrawer(CanvasView.Drawer.RECTANGLE);         // Draw Rectangle
this.canvas.setDrawer(CanvasView.Drawer.CIRCLE);            // Draw Circle
this.canvas.setDrawer(CanvasView.Drawer.ELLIPSE);           // Draw Ellipse (Oval)
this.canvas.setDrawer(CanvasView.Drawer.QUADRATIC_BEZIER);  // Draw Quadratic Bezier

这些,

this.canvas.setPaintStyle(Paint.Style.STROKE);
this.canvas.setPaintStyle(Paint.Style.FILL);
this.canvas.setPaintStyle(Paint.Style.FILL_AND_STROKE);

你可以尝试很多其他的cuztomizations。只需检查我为您提供的资源。

希望它有所帮助。