有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何以编程方式将按钮添加到自定义视图?

我是Android编程的初学者,我正在通过修改我发现的一些类来开发一个程序here.到目前为止,我有DrawView类,如下所示:

public class DrawView extends View {
   private Ball ball1;

   private Button kapabut;

    public DrawView(Context context) {
        super(context);
        setFocusable(true);

        ball1 = new Ball(context,R.drawable.ortatop);       

       kapabut=new Button(context);  //here, I cannot seem to add a button.
       kapabut.setVisibility(VISIBLE);
       kapabut.setText("xXx");
    }

    @Override protected void onDraw(Canvas canvas) {
        // move the balls at every canvas draw
        ball1.moveBall();

        //draw the balls on the canvas
        canvas.drawBitmap(ball1.getBitmap(), ball1.x, ball1.y, null);
        // refresh the canvas
        invalidate();
    }    
}

球被创造并移动,但我似乎无法在任何地方按下“kapabut”按钮。如何显示此按钮并添加onClick方法

任何帮助都将不胜感激,谢谢

注意:我尝试使用XML布局添加了一个按钮,但现在我想使用这个类,并在Main中设置setContentView(new DrawView(this));。爪哇


共 (1) 个答案

  1. # 1 楼答案

    不能在视图的onDraw()方法中添加其他View对象,它们在视图类中没有任何addView()方法

    要使其正常工作,请使用^{}扩展DrawView类。现在,您可以在此中添加其他视图。AsaddView()方法属于ViewGroup

    大概

    public class DrawView extends ViewGroup {