我有一些包含文本的画布(在画布中)我想在此文本下面添加一个按钮。 我知道Canvas无法按住按钮,我不想将按钮添加到画布。
如何将按钮添加到我在画布中绘制的文本下方的RelativeLayout?
修改
画布未在任何xml或布局中声明 我有一个扩展RelativeLayout的类,我从dispatchDraw函数
获取画布答案 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_above
或android:layout_below
执行此操作。您也可以在LinearLayout