向图形画布添加按钮

时间:2018-01-07 14:27:16

标签: android android-view android-fragmentactivity android-graphics

我正在使用这个问题的答案:Drawing on Canvas and save image,以便创建一个画布来绘制图像。

单击按钮时,我正在打开名为FragmentActivity的{​​{1}}。在此活动中,我希望DrawImage与浮动操作按钮一起显示,允许用户在点击时保存他们的绘图。

这就是我当前正在显示画布的方式,但是我不知道如何在它上面添加按钮。有什么想法吗?

的DrawImage

MyDrawView

MyDrawView (与链接相同)

public class DrawImage extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View drawImageCanvas = new MyDrawView(this.getApplicationContext());
        setContentView(drawImageCanvas);
    }
}

2 个答案:

答案 0 :(得分:3)

您只将contentView设置为 MyDrawView 视图,因此布局中不再有任何视图(按钮)。以这种方式添加按钮是不可能的。

解决方案是将 MyDrawView 移动到xml文件(fragment_draw_image.xml)并设置内容v

\n

然后<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.misah.test.MyDrawView android:id="@+id/myView" android:layout_width="match_parent" android:layout_height="match_parent"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Save Drawing"/> </RelativeLayout> 在布局中,您可以在其上方绘制视图和按钮,以及您希望的任何其他内容。

<强>编辑:

将此构造函数也添加到 MyDrawView ,您可以在xml中使用它:

setContentView(R.layout.fragment_draw_image);

将构造函数中的所有doint添加到init方法(绘图等)

enter image description here

答案 1 :(得分:0)

JVM找不到您的自定义类MyDrawView。您必须将包名称点MyDrawView放入XML文件(fragment_draw_image.xml)