2014-06-13 25 views
10

có thể lập trình được cờ hiện đang hoạt động trên Cửa sổ không?Nhận cờ hoạt động trên Cửa sổ Android

Chúng ta có thể cho phép cờ với:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 

Liệu api cung cấp một cách để có được một danh sách các cờ đang hoạt động? Cảm ơn

Trả lời

30

Bạn có thể sử dụng:

int flags = getWindow().getAttributes().flags; 

Bạn có thể thấy nó được sử dụng bởi việc thực hiện Window.setFlags():

public void setFlags(int flags, int mask) { 
    final WindowManager.LayoutParams attrs = getAttributes(); 
    attrs.flags = (attrs.flags&~mask) | (flags&mask); 
    ... 

Để xác định xem cờ cá nhân được thiết lập, bạn phải sử dụng Bitwise và. Ví dụ:

if ((flags & WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) != 0) ... 
+0

yeah nhưng nó trả lại cho tôi một liên hệ không liên quan đến nthing ...: S – iGio90

+1

@ iGio90 int chứa tất cả cờ của bạn. bạn chỉ cần hoạt động bitwise để giải nén chúng. Đã chỉnh sửa câu trả lời, hãy kiểm tra ví dụ. – matiash

+0

đang hoạt động !!!! cảm ơn bạn! – iGio90

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