दिलचस्प पोस्ट
दूसरे सरणी के दूसरे मंद के सूचकांक के रूप में एक अंडाकार सरणी का उपयोग करना? निर्देशिका से परिसंपत्तियों को स्थानीय निर्देशिका में कॉपी करें T-SQL ट्रिम & nbsp (और अन्य गैर-अल्फ़ान्यूमेरिक वर्ण) Windows और .NET के साथ मेकैच की गई आदेशों का अनुक्रम भेजना और प्रतिक्रिया की प्रतीक्षा करना PowerShell को प्रत्येक आदेश की प्रतीक्षा करने के लिए अगले को शुरू करने से पहले कैसे बताऊँ? रिक्त कोष्ठ के साथ डिफ़ॉल्ट निर्माता प्रकार की सूची को प्रारंभ नहीं कर सकता <उत्पाद> सीटीपीएस सरणी से आंकड़े प्राप्त करने के लिए अंकों की संख्या सी # में कार्यक्रम से बाहर निकलने से पहले कुछ करना Gradle संस्करण 1.10 की आवश्यकता है। वर्तमान संस्करण 2.0 है स्पॉसर मैट्रिक्स डेटा कोसाइन समानता की गणना करने के लिए पायथन में सबसे तेज़ तरीका क्या है? क्या एक संपत्ति को केवल सी # में स्थापित करने का एक तरीका है स्कैनर क्लास सफेद स्थान पर रुक जाती है

विशेष स्थान पर पॉपअप विन्डो कैसे दिखाना है?

मुझे स्क्रीन पर दिखाए गए एक Views तहत PopupWindow दिखाने की आवश्यकता है।

मैं PopupWindow तहत आवश्यक View और स्थान PopupWindow के निर्देशांक की गणना कैसे कर सकता हूं? कोड उदाहरण स्वागत से अधिक है धन्यवाद।

Solutions Collecting From Web of "विशेष स्थान पर पॉपअप विन्डो कैसे दिखाना है?"

पहले से प्रदर्शित किए गए दृश्य का पता लगाना काफी आसान है – मेरे कोड में मैं इसका उपयोग करता हूं:

 public static Rect locateView(View v) { int[] loc_int = new int[2]; if (v == null) return null; try { v.getLocationOnScreen(loc_int); } catch (NullPointerException npe) { //Happens when the view doesn't exist on screen anymore. return null; } Rect location = new Rect(); location.left = loc_int[0]; location.top = loc_int[1]; location.right = location.left + v.getWidth(); location.bottom = location.top + v.getHeight(); return location; } 

तब आप उस कोड का उपयोग कर सकते हैं जो अर्नेस्टा ने प्रासंगिक स्थान में पॉपअप को छड़ी करने का सुझाव दिया था:

 popup.showAtLocation(parent, Gravity.TOP|Gravity.LEFT, location.left, location.bottom); 

यह मूल दृश्य के अंतर्गत सीधे पॉपअप दिखाएगा – कोई गारंटी नहीं है कि इस दृश्य को प्रदर्शित करने के लिए पर्याप्त जगह होगी।

आपको लेआउट में दृश्य की सटीक स्थिति प्राप्त करने के लिए getLeft() और getBottom() मिल गया है। आपको दृश्य द्वारा प्राप्त सटीक स्थान को जानने के लिए getWidth() और getHeight() गया है। यदि आप किसी दृश्य के नीचे अपनी पॉपअप विंडो को स्थान देना चाहते हैं

आप नए पॉपअप विंडो की स्थिति में देखने के लिए setTop() setLeft() और setTop() तरीके सेट करते हैं

शीर्षक और अधिसूचना सलाखों जैसे सामान के बिना मुख्य एप्लिकेशन स्क्रीन का आकार पाने के लिए, प्रश्न में स्क्रीन बनाने वाले वर्ग में निम्न विधि को ओवरराइड करें (आकार पिक्सल में मापा जाता है):

 @Override protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); } 

उस दृश्य के नीचे समन्वय प्राप्त करने के लिए जिसके तहत आप पॉपअप दिखाना चाहते हैं:

 View upperView = ... int coordinate = upperView.getBottom(); 

अब जब तक height - coordinate आपके पॉपअप दृश्य के लिए काफी बड़ी है, आप इस तरह पॉपअप को इस तरह रख सकते हैं:

 PopupWindow popup = new PopupWindow(); Button button = new Button(this); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { popup.showAtLocation(parent, Gravity.CENTER, 0, coordinate); } }); 

यहां, showAtLocation() माता-पिता के दृश्य को गुरुत्वाकर्षण और स्थान ऑफसेट के साथ एक तर्क के रूप में ले जाता है।