दिलचस्प पोस्ट
मर्ज सॉर्ट एल्गोरिथ्म का उपयोग करके इन्हें कैसे सॉर्ट करना है? एईएस इंटरऑपरेबिलिटी नेट एंड आईफ़ोन के बीच? जावास्क्रिप्ट में = = _ मतलब क्या है Regex में \ b और \ B के बीच अंतर फ़ंक्शन कॉल के बाद कोष्ठकों के दो सेट मैं एक सरणी से एक धारा कैसे बना सकता हूं? कोवेरिएंस और इलिस्ट क्रोम एक्सटेंशन: चयनित टेक्स्ट कैप्चर कैसे करें और वेब सेवा को भेजें सी ++ में "ऑब्जेक्ट वापस" कैसे करें? शेयरपोस्ट कैलेंडर में दिनांकित अनुस्मारक Xcode एडिटर में मुझे लाइन नंबर कहां मिल सकता है? डबल-डॉट ".. और ट्रिपल-डॉट" … के बीच अंतर क्या है? FileDialog काम नहीं करता है IOS में डेटा को बचाने के लिए क्या विकल्प हैं? VM और PyCharm के साथ कस्टम PYTHONPATH को कॉन्फ़िगर कैसे करें?

छवि के क्लिक करने योग्य क्षेत्र

I'am एक जीयूआई रिमोट कंट्रोल तैयार करने के लिए, लेकिन प्रत्येक रिमोट बटन के लिए अलग-अलग बटन बनाने की बजाय, मुझे एक पूर्ण तैयार रिमोट इमेज प्राप्त करना है और इसके कुछ हिस्सों को क्लिक-सक्षम करना है। क्या ऐसा करने के लिए गति घटना की बजाय एक तरीका है?

वेब के समाधान से एकत्रित समाधान "छवि के क्लिक करने योग्य क्षेत्र"

मेरे पास अपनी आवश्यकता के लिए 2 समाधान हैं। दोनों, संपूर्ण छवि क्लिक करने योग्य है लेकिन आप क्लिक किए गए क्षेत्र के बारे में जानकारी प्राप्त कर सकते हैं।

समाधान 1:

आप छवि को मुखौटा कर सकते हैं और उस चित्र के नीचे के पिक्सेल रंग प्राप्त कर सकते हैं। अंत में आप जान सकते हैं कि किस क्षेत्र पर क्लिक किया गया है?

यहां पर जब भी क्लिक किया जाता है, तो आप background image के पिक्सेल रंग की जांच कर सकते हैं और इसे पूर्वनिर्धारित रंग सेट से मिलान करने के लिए पता कर सकते हैं कि किस क्षेत्र पर क्लिक किया गया है

अग्रभूमि छवि: अग्रभूमि छवि

पृष्ठभूमि छवि: पृष्ठभूमि छवि

क्लिक करने योग्य क्षेत्र: क्लिक करने योग्य क्षेत्र का प्रतिनिधित्व करना

अभी भी उलझन में?

संदर्भ: मैं आपको इस ट्यूटोरियल के माध्यम से जाने के लिए सुझाव देना चाहता हूं।

समाधान 2:

आप अपनी छवि को समन्वयित कर सकते हैं और तदनुसार आप उस क्षेत्र की जानकारी प्राप्त कर सकते हैं जिसे क्लिक किया गया है।

उदाहरण: समन्वय के साथ मानचित्रित छवि

अगर आप समन्वय से अवगत नहीं हैं, तो आप यहां से अपना मैप किए गए चित्र बना सकते हैं

केंसास के लिए सह-समन्वय इस तरह कुछ दिखाई देगा,

  <area shape="poly" coords="243,162,318,162,325,172,325,196,244,196" id="@+id/area14" name = "Kansas"/> 

मैप के साथ समन्वय

संदर्भ: कृपया एंड्रॉइड इमेज मैपिंग पर एक नजर डालें।

मुझे आशा है कि यह उपयोगी होगा !!

आप अभी भी बटन का उपयोग कर सकते हैं

आप उन्हें अपनी छवि पर सही स्थानों में रख सकते हैं और उन्हें अदृश्य बना सकते हैं।

XML में

 <Button android:visibility="invisible"/> 

या

 Button mybutton = (Button) v1; mybutton.setVisibility(View.INVISIBLE); 

मेरे पास एक ही चुनौती थी और इसे पुस्तकालय "फोटोदृश्य" के साथ हल किया, जहां आप सुन सकते हैं

 onPhotoTap(View view, float x, float y){} 

ईवेंट और जांचें कि टैब आपकी छवि क्षेत्र के अंदर है, और फिर कुछ कार्य करते हैं।

मैंने अन्य डेवलपर्स को इस तरह की कार्यक्षमता को बहुत तेज़ बनाने में मदद करने के लिए एक पुस्तकालय बनाया है यह गिथूब पर है: क्लिक करने योग्यअरेज़ इमेजेस

यह लाइब्रेरी आपको एक छवि में क्लिक करने योग्य क्षेत्रों को परिभाषित करने देती है, उसमें सहयोगी वस्तुओं को और उस क्षेत्र के स्पर्श इवेंट्स को सुनने देती है।

लाइब्रेरी का उपयोग कैसे करें:

 public class MainActivity extends AppCompatActivity implements OnClickableAreaClickedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Add image ImageView image = (ImageView) findViewById(R.id.imageView); image.setImageResource(R.drawable.simpsons); // Create your image ClickableAreasImage clickableAreasImage = new ClickableAreasImage(new PhotoViewAttacher(image), this); // Initialize your clickable area list List<ClickableArea> clickableAreas = new ArrayList<>(); // Define your clickable areas // parameter values (pixels): (x coordinate, y coordinate, width, height) and assign an object to it clickableAreas.add(new ClickableArea(500, 200, 125, 200, new Character("Homer", "Simpson"))); clickableAreas.add(new ClickableArea(600, 440, 130, 160, new Character("Bart", "Simpson"))); } // Listen for touches on your images: @Override public void onClickableAreaTouched(Object item) { if (item instanceof Character) { String text = ((Character) item).getFirstName() + " " + ((Character) item).getLastName(); Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); } } ... } 

@ सीलज उत्तर में सुधार, यहां मेरा जवाब:

 <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_centerInParent="true" android:layout_alignTop="@+id/mail" android:layout_alignBottom="@+id/mail" > <Button android:id="@+id/leftMail" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight=".5" android:background="@android:color/transparent" /> <Button android:id="@+id/rightMail" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight=".5" android:background="@android:color/transparent" /> </LinearLayout> <ImageView android:id="@+id/mail" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/mail1600x600" android:layout_centerInParent="true" /> </RelativeLayout>