दिलचस्प पोस्ट
स्विफ्ट में स्टेटिक प्रॉपर्टी आप POST क्रिया का उपयोग करके किसी पृष्ठ को कैसे पुनर्निर्देशित करते हैं? आप गिट में एक बुरा मर्ज का पता कैसे लगा सकते हैं? कैसे करने के लिए "wscript.shell" काम करने के लिए config IE कैसे malloc संरेखण को समझता है? पृष्ठ के साथ तर्क दें। मूल्यांकन Cmake का उपयोग करके परिभाषा के रूप में मैं git SHA1 को कैसे परिभाषित कर सकता हूं? UICollectionView के अंदर एक UITableViewCell – गतिशील ऊंचाई? मैं jQuery के साथ एक पृष्ठ कैसे रिफ्रेश कर सकता हूं? एक्लिप्स में स्ट्रींग विधि को ऑटो-जनरेट करने के लिए शॉर्टकट क्या हैं? क्लास पर __getitem__ को परिभाषित क्यों करता है अजगर में इसे चालू करता है? DQL के साथ एक WHERE क्लॉज़ में DATE () फ़ंक्शन का उपयोग करें कैसे अनाम प्रकार सी # में इस्तेमाल किया जाना चाहिए? जावा मूल पद्धति स्रोत कोड ओवरराइडिंग सार प्रकार के साथ केक पैटर्न ऊपरी टाइप बाउंड्स के साथ काम नहीं करते हैं

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

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

Solutions Collecting From Web of "छवि के क्लिक करने योग्य क्षेत्र"

मेरे पास अपनी आवश्यकता के लिए 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>