如何在Android中的画布下添加视图?

时间:2014-05-12 15:16:00

标签: android button canvas

我有一些包含文本的画布(在画布中)我想在此文本下面添加一个按钮。 我知道Canvas无法按住按钮,我不想将按钮添加到画布。

如何将按钮添加到我在画布中绘制的文本下方的RelativeLayout?

修改

画布未在任何xml或布局中声明 我有一个扩展RelativeLayout的类,我从dispatchDraw函数

获取画布

2 个答案:

答案 0 :(得分:0)

您的画布包含在视图中,因此请将按钮放在该视图下方。

    android:layout_below="@+id/yourCanvasViewId" 

查看RelativeLayout developer guide.

要在代码中执行此操作,您可以执行以下操作:

    int canvasViewId = 1;
    myCanvasView.setId(canvasViewId);

    Button button = new Button(this);
    button.setText("Button");

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    //set view to be laid out below canvas view
    params.addRule(RelativeLayout.BELOW, canvasViewId); 

    myRelativeLayout.addView(button, params);

答案 1 :(得分:0)

您可以在布局XML文件中使用布局参数android:layout_above。为每个组件指定一个ID,然后使用android:layout_aboveandroid:layout_below执行此操作。您也可以在LinearLayout

中执行此操作