在Android中的自定义视图上添加按钮

时间:2012-04-04 15:53:27

标签: android button view

我有以下课程

public class GameActivity extends Activity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      View gameView = new GameView(this);
      setContentView(gameView);
   }
}


现在我想在我的GameView类中添加一个Button。

public GameView(Context context) {
        super(context);
// Code ...
}

我在游戏过程中需要这个按钮,所以它应该是所有其他画布前面的'我正在画画。
我该怎么做?

2 个答案:

答案 0 :(得分:1)

您想创建一个新按钮吗?

Button b = new Button(context);
b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
                                   LayoutParams.WRAP_CONTENT)); 

gameView.addView(b);

使用ViewGroup作为简单视图的GameView家长

ViewGroup gameView = new GameView(this);


public class GameView extends ViewGroup { //...

答案 1 :(得分:-1)

View gameView = new GameView(this);

用以下行替换上面的行::

View gameView = new GameView(this).createView();

现在在游戏视图中使用按钮等创建视图

    public class GameView extends View {
    private Activity _activity;
    public GameView (Activity _activity) {
        super(_activity);
        // TODO Auto-generated constructor stub
        this._activity = _activity; 
    }
public View createView(){
        LinearLayout l = new LinearLayout(_activity);
        l.setOrientation(LinearLayout.VERTICAL);
        Button btn = new Button(_activity);
        btn.setId(1);
            btn.setText("btn"+(i+1));
        l.addView(btn);
        return l;
    }
}

尝试这个有效的代码:::