2012-04-04 25 views
5

Tôi có lớp sau
Thêm Nút trên tùy chỉnh Xem trong Android

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


và bây giờ tôi muốn thêm một nút để GameView lớp học của tôi.

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

Tôi cần nút này trong khi chơi, vì vậy nó phải nằm ngang trước tất cả các canvas khác 'Tôi đang vẽ.
Tôi có thể làm như thế nào?

+0

Nút của bạn ở đâu? trong hoạt động hoặc bạn muốn tạo một hoạt động mới? – pleerock

Trả lời

1

Bạn có muốn tạo nút mới không?

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

gameView.addView(b); 

Sử dụng ViewGroup như GameView mẹ insted của đơn giản Xem

ViewGroup gameView = new GameView(this); 


public class GameView extends ViewGroup { //... 
0
View gameView = new GameView(this); 

thay thế dòng trên dòng dưới đây ::

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

và bây giờ trong giao diện game createView với và v.v.

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

thử mã hoạt động này :::

Các vấn đề liên quan