Java 如何在现有活动中绘制线?
事实上,我们想编写一个桥构造器游戏,用户必须能够画出这些线来建造桥 已经回答:我一直在尝试创建一个类,该类允许我在现有布局上画线,但当我们尝试启动“游戏”活动时(按下主菜单中的按钮),应用程序崩溃。 LogCat告诉我们:“致命异常:main”,我们有一个NullPointerException [编辑]:我们现在搜索如何取回我们作为单个对象创建的所有线条(我们假设存在画布创建的位图),但我们真的不知道如何获取这些位图 以下是活动“CustomView”(用于绘制线条)的代码:Java 如何在现有活动中绘制线?,java,android,graphics,draw,lines,Java,Android,Graphics,Draw,Lines,事实上,我们想编写一个桥构造器游戏,用户必须能够画出这些线来建造桥 已经回答:我一直在尝试创建一个类,该类允许我在现有布局上画线,但当我们尝试启动“游戏”活动时(按下主菜单中的按钮),应用程序崩溃。 LogCat告诉我们:“致命异常:main”,我们有一个NullPointerException [编辑]:我们现在搜索如何取回我们作为单个对象创建的所有线条(我们假设存在画布创建的位图),但我们真的不知道如何获取这些位图 以下是活动“CustomView”(用于绘制线条)的代码: 提前谢谢你 游戏
提前谢谢你 游戏/onCreate中有一个错误:
MainLayout = (LinearLayout) findViewById(R.layout.draw);
在这里,您必须获取ID,而不是布局…因此,在您的/res/layout/game中必须是id=“@+id/draw”的线性布局 解决方案:将上述说明更改为:
MainLayout = (LinearLayout) findViewById(R.id.draw);
注意:它是findViewById,而不是findViewByLayout
[编辑]
您从未在CustomView类中初始化path对象。在构造函数中,在super行之后执行此操作:
mPath = new Path();
[编辑2]
还需要初始化这些对象:
private Paint mPaint;
private Bitmap mBitmap;
private Canvas mCanvas;
private Paint mBitmapPaint;
然后开始使用一个新的绘制对象,绘制,然后尝试使用mBitmapPaint和mPaint
[编辑3]
我发现了一篇你可能会觉得很有趣的帖子:
[编辑4]
最后它终于可以工作了,但是我们现在想要得到我们创建为对象的位图(每一行一行!),让它们移动。。。我们找不到任何关于如何得到它们的信息!我将编辑我们的代码,看看我们做了什么代码>
那真的应该是另一个问题。。。1 Q=>1 A.
编辑问题并将其更改为其他问题是没有意义的(也会增加混乱)。
它还可能使以前的答案无效…如果你发布日志,这将非常有用。我将它添加到了帖子中!我用新的更正编辑了我的答案,在Edit3中添加了一个有趣的链接,非常感谢您的关注,但不幸的是,它不起作用。。我会看看你的链接,告诉你如果我找到了解决办法!向下滚动至20票以上的答案。它应该和你的目标相似。最后它成功了,但是我们现在想要得到我们作为对象创建的位图(每一行一行!),让它们移动。。。我们找不到任何关于如何得到它们的信息!我将编辑我们的代码,看看我们做了什么!所以,这真的应该是另一个问题。。。1 Q=>1 A。
mPath = new Path();
private Paint mPaint;
private Bitmap mBitmap;
private Canvas mCanvas;
private Paint mBitmapPaint;