2012-12-17 20 views
10

में कुछ भाग छवि को कैसे पॉप अप करें मैं छवि के कुछ भाग को प्रदर्शित करना चाहता हूं। कॉमिक बुक की तरह। मेरे पास एक छवि है।एंड्रॉइड

this is actual image.

जब मैं छवि पर इस तरह की कुछ हिस्सा प्रदर्शन पर क्लिक करें।

Second image when click this part of image.

मैं इस प्रकार प्रदर्शित करना चाहते हैं। इस प्रक्रिया में मैं कुछ ज़िप फ़ाइल चुड़ैल बनाते हैं जिसमें मुख्य छवि की छवियों का हिस्सा होता है। मैंने प्रत्येक छवि अनुक्रम को प्रदर्शित करने के लिए किया है। लेकिन मेरी समस्या यह है कि वास्तविक छवि के किसी भी हिस्से को कैसे क्लिक करें और इसे दूसरी स्क्रीन की तरह प्रदर्शित करें?

मुझे छवि भाग आईडी नहीं मिल सकती है। तो छवि आईडी के इस भाग को कैसे प्राप्त करें।

तो कृपया मेरी मदद करें। मैं अटक गया हूँ।

+0

एक ही क्लिक करने की तरहफेसबुक छवियों पर, यह नई स्क्रीन में पूर्ण-छवि पॉप अप करेगा। –

+0

@PareshMayani लेकिन चुड़ैल क्लिक का प्रबंधन कैसे करें doen.it हर सिंगल छवि है, मैं इस तरह गठबंधन नहीं करता हूं। –

उत्तर

0

आप इस समस्या के लिए एक चाल कर सकते हैं।

लेआउट के अंदर बटन (ट्रांसपेरेंट के रूप में पृष्ठभूमि के साथ) सेट करें।

अपनी कक्षा गतिविधि के अंदर को अपने पॉपयूप्स दिखाने के लिए बटन पर ऑनक्लिक लिस्टर सेट करें।

आप भी बटन घटना क्लिक दर्शनीय/अदृश्य फ़ीचर द्वारा करने के लिए अपने आवश्यकता के अनुसार प्रबंधन कर सकते हैं।

संपादित

अपने xml के रूप में नीचे की तरह दिखाई देगा।

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/YOUR_IMAGE" > 

    <Button 
     android:id="@+id/btn_invisible" 
     android:layout_width="85dp" 
     android:layout_height="30dp" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="18dp" 
     android:background="@android:color/transparent" /> 

</RelativeLayout> 

और अपनी गतिविधि कक्षा के अपने ऑनक्रेट() विधि के अंदर।

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 

    setContentView(R.layout.help_1); 
    btn_invisible = (Button) findViewById(R.id.btn_invisible); 
    btn_invisible.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    if (v == btn_invisible) { 
     //Whatever Code you want to Use for Show Popups 

    } 

मुझे यकीन नहीं है लेकिन आप इसे एक बार कोशिश कर सकते हैं।

+0

लेकिन यह छवि अलग दिखती है और छवि बटन को यादृच्छिक रूप से कैसे सेट करें? मुझे एक डायनामिक लेआउट बनाना है, लेकिन छवि के वास्तविक भाग के नीचे इस बटन को कैसे स्टोर करना है। –

+0

मैंने कोड के विवरण के साथ अपना उत्तर संपादित किया है। अगर यह आपकी मदद करता है तो मुझे बताएं। –

+0

मुझे लगता है कि यह कुछ विचार है कि मैं कोशिश करता हूं तो आपको प्रतिक्रिया दें प्रिय। –

1

आप मुख्य छवि के कुछ हिस्सों के साथ संग्रह है, तो इसका मतलब है कि आप उन्हें मैन्युअल सही बनाया है,? तो, आपके कॉमिक्स पुस्तक दर्शक केवल मैन्युअल रूप से बनाई गई सामग्री के लिए लागू होंगे।

यह सच है, इसलिए किसी प्रकार की कॉन्फ़िगरेशन फ़ाइल बनाने के लिए कोई परेशानी नहीं है (उदाहरण के लिए xml- आधारित या Properties फ़ाइल) जिसमें प्रत्येक भाग के लिए आकार और स्थिति होगी।

इसके बाद आप MotionEvent को संभाल सकते हैं और कॉन्फ़िगरेशन से निर्देशांक द्वारा भाग की आईडी का पता लगा सकते हैं।

आप छवियों को फ्लाईट करके अपने आवेदन को भी बेहतर बना सकते हैं। यह कठिन नहीं है।

उदाहरण:

आपका यहाँ छवि (page1.png):

-------------------------------- 
|     |   | 
|     |   | 
|     |  2  | 
|  1  |   | 
|     |   | 
|     |------------| 
|     |   | 
|-----------------|   | 
|     |  4  | 
|     |   | 
|     |   | 
|     |------------| 
|  3  |   | 
|     |   | 
|     |  5  | 
|     |   | 
|     |   | 
-------------------------------- 

आपका सरल config (page1.cfg):

# Parts description 
# id=x,y;w,h 
1=0,0;18,9 
2=19,0;13,7 
3=0,10;18,11 
4=19,8;13,7 
5=19,15;13,6 

आपका जिप:

page1.png 
page1-1.png 
page1-2.png 
page1-3.png 
page1-4.png 
page1-5.png 
page1.cfg 
... 
+0

उत्तर के लिए धन्यवाद लेकिन पूरी किताब का प्रबंधन कैसे करें यह न केवल एकमात्र पृष्ठ है बल्कि यह एक पुस्तक है। तो मैं इसे कैसे पहचान सकता हूं। –

+0

आप फ्लाई पर पृष्ठों के कुछ हिस्सों का पता लगा सकते हैं। कई एल्गोरिदम हैं। सबसे पहले आपको अपनी पृष्ठभूमि का पता लगाना चाहिए। इसके बाद आप अपने पृष्ठ पर लंबवत और क्षैतिज डिवाइडर का पता लगा सकते हैं, हेरिस्टिक का उपयोग करें। –

+0

मुझे लगता है कि किनारों और हिस्सों को निकालना अलग कार्य है। और यह बहुत जटिल कार्य है। असल में, आपको अपने पेज को काटने की जरूरत नहीं है। आप मुख्य बिंदुओं का पता लगा सकते हैं और ऑफ़सेट के रूप में उनका उपयोग कर सकते हैं। तो, आपका बिटमैप उदाहरण एकल होगा और आप उन्हें ऑफसेट द्वारा ले जायेंगे। –