2014-06-13 6 views
10

पर सक्रिय झंडे प्राप्त करें क्या प्रोग्रामिंग के लिए यह संभव है कि फ्लैग वर्तमान में विंडो पर सक्रिय हों?एंड्रॉइड विंडो

हम साथ झंडे सक्षम कर सकते हैं:

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

एपीआई वर्तमान में सक्रिय झंडे की एक सूची प्राप्त करने के लिए एक तरीका प्रदान करता है? धन्यवाद

उत्तर

30

आप उपयोग कर सकते हैं:

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

आप देख सकते हैं यह Window.setFlags() कार्यान्वयन द्वारा किया जाता है:

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

निर्धारित करने के लिए अलग-अलग झंडे सेट कर रहे हैं, तो आप बिटवाइज़ का उपयोग करना चाहिए और। उदाहरण के लिए:

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

हाँ, लेकिन यह मुझे एक पूर्णांक है कि चिंता का विषय Nthing doen't ... वापसी: एस – iGio90

+1

@ iGio90 पूर्णांक अपने सभी झंडे में शामिल है। आपको बस निकालने के लिए थोड़ा सा ऑपरेशन चाहिए। जवाब संपादित करें, उदाहरण की जांच करें। – matiash

+0

काम कर रहा !!!! धन्यवाद! – iGio90

संबंधित मुद्दे