6

我有以下课程

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 ...
}

我在玩游戏时需要这个按钮,所以它应该在我正在绘制的所有其他画布的前面。
我怎样才能做到这一点?

4

2 回答 2

1

你想创建一个新按钮吗?

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

gameView.addView(b);

用作简单视图ViewGroupGameView父级

ViewGroup gameView = new GameView(this);


public class GameView extends ViewGroup { //...
于 2012-04-04T16:01:36.623 回答
-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;
    }
}

试试这个工作代码:::

于 2012-04-04T16:57:35.583 回答