Android 安卓按钮在画布中不起作用
按钮在画布中不起作用。您需要在邮件中更改/添加呼叫者什么?按钮已创建,但按下时不响应。画布是否可能位于按钮上方Android 安卓按钮在画布中不起作用,android,Android,按钮在画布中不起作用。您需要在邮件中更改/添加呼叫者什么?按钮已创建,但按下时不响应。画布是否可能位于按钮上方 public class ButtonInCanvas extends AppCompatActivity implements View.OnClickListener { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCre
public class ButtonInCanvas extends AppCompatActivity implements View.OnClickListener {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
button = new Button(ButtonInCanvas.this);
button.setOnClickListener(this);
button.setText("OK!");
setContentView(new BtInCanvas(ButtonInCanvas.this));
}
public class BtInCanvas extends View {
public BtInCanvas(Context context) {
super(context);
}
public void onDraw(Canvas canvas){
button.layout(50,50,300,300);
button.draw(canvas);
}
}
@Override
public void onClick(View v) {
Toast.makeText(this,"OK!",Toast.LENGTH_LONG).show();
}
}
让我们参考链接
不能将按钮插入画布。画布是位图的界面或视图的位图缓冲区。只能在其中绘制其他位图或像素,不能插入对象或小部件
有一些解决方案:
您只需使用代码在画布中绘制一个按钮图像。您不需要将其添加到画布中。画布不是用于保存子视图的视图组。要处理点击,您必须将onClickListener添加到
btincavas
视图中。但无论如何,你的代码看起来很奇怪。为什么需要在画布上添加按钮?只需使用代码在画布上绘制一个按钮图像。您不需要将其添加到画布中。画布不是用于保存子视图的视图组。要处理点击,您必须将onClickListener添加到btincavas
视图中。但无论如何,你的代码看起来很奇怪。为什么需要在画布上添加按钮?