2012-01-26 43 views
8

Tôi chỉ có thể đặt Hoạt động của tôi thành Toàn màn hình trong phương pháp onCreate (trước setContentView)?Đặt toàn màn hình ra trênTạo

Có cách nào tôi có thể đặt ở chế độ toàn màn hình nằm ngoài chế độ onCreate không?

Cảm ơn

+1

thể trùng lặp của (http://stackoverflow.com/questions/2868047/fullscreen-activity-in-android) –

+0

không, tôi muốn thiết lập trong mã số – fsilvestre

+0

cũng xem Marek Sebera bình luận và liên kết trong đó ... câu trả lời được đưa ra cho cả hai cách (lập trình và không có lập trình) –

Trả lời

12

Có thể! Thêm mã này.

 

    // go full screen 
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); 
    attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; 
    mActivity.getWindow().setAttributes(attrs); 

    // go non-full screen 
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); 
    attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    mActivity.getWindow().setAttributes(attrs); 

+1

Điều này không hoạt động sau khi 'setContentView (...)' – neworld

+0

cho tôi hoạt động rất tốt – fsilvestre

1

Các tài liệu cho Window.requestFeature nói:

này phải được gọi trước khi setContentView().

vì vậy không, tôi không tin có một cách khác để đặt thành toàn màn hình sau khi bạn gọi setContentView.

+0

Bạn có thể gọi 'setContentView' lần thứ hai bên ngoài' onCreate' nếu bạn muốn, miễn là bạn gọi nó sau khi yêu cầu tính năng toàn màn hình thì tốt. Lưu ý rằng nó sẽ làm mất hiệu lực bất kỳ tham chiếu đến Views bạn có, vì vậy bạn sẽ cần phải gọi 'findViewByID' một lần nữa sau khi cho mỗi tham chiếu View. –

+0

Martin, tôi thử sử dụng requestFeature() để đặt chế độ toàn màn hình ở phương thức khác và mã bên dưới một cuộc gọi setContentView một lần nữa, nhưng xảy ra một ngoại lệ: requestFeature() phải được gọi trước khi thêm nội dung – fsilvestre

+0

Bạn có thể thử * not * gọi 'setContentView' 'onCreate' và chỉ gọi nó sau khi bạn muốn gọi' requestFeature', nhưng một khi bạn gọi 'setContentView' ở trên sẽ được áp dụng. – kabuko

-1
@Override 

protected void onCreate(Bundle savedInstanceState) { 

// TODO Auto-generated method stub 

super.onCreate(savedInstanceState); 

    **requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);** 

    setContentView(R.layout.activity); 

... 
} 
0
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Sử dụng này trước khi thiết lập bố trí .Bởi bạn đang cố gắng để thiết lập bố trí của bạn vào toàn màn hình. Tại sao bạn cần ngoài phương pháp tạo? ...

0

Hãy thử điều này: [? Hoạt động FullScreen trong android]

View decorView = getWindow().getDecorView(); 

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 
Các vấn đề liên quan