2011-11-18 9 views
8

पर एंड्रॉइड पेज कर्ल प्रभाव मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां मुझे संपूर्ण दृश्य/लेआउट को घुमा देना है जहां मेरे पास टेक्स्टव्यू, एडिटेक्स, बटन इत्यादि हैं। कार्य यह है कि मुझे पूरे लेआउट को घुमाने के लिए है उन बटनों और सभी के साथ। मैं समझ नहीं पा रहा हूं कि छवियों के बजाय पूरे लेआउट को घुमाने के लिए इसे कैसे किया जाए।लेआउट/एस

कृपया मदद

+0

कृपया परिभाषित करें कि कोई लेआउट –

+0

कैसे "curl" करता है क्षमा करें, अगर मैं अपना प्रश्न स्पष्ट नहीं कर पा रहा हूं। मैं छवि के बजाय लेआउट पर कर्ल पेज प्रभाव लागू करना चाहता हूं ताकि जब मैं लेआउट के साथ पेज, टेक्स्टव्यू, बटन, आदि कर्ल घुमाता हूं। –

+0

पेज कर्लिंग के बारे में स्टैक ओवरफ्लो के आसपास बहुत सारे प्रश्न हैं, उदा। [यह एक] (http://stackoverflow.com/questions/3912849/implement-page-curl-on-android/)। – 87element

उत्तर

0

मैं कर्ल प्रभाव से अधिक काम नहीं किया है, लेकिन मैं जो आप मदद कर सकते हैं आप के लिए एक परियोजना मिल गया है।

https://github.com/harism/android_page_curl/

+1

हाय वेलेट। नमूना लिंक के लिए धन्यवाद। मैंने छवियों पर कर्ल प्रभाव लागू करने के लिए पहले ही इस उदाहरण का उपयोग किया है, लेकिन मुझे लेआउट पर इसे कैसे लागू किया जा रहा है। –

8

मैं इतना harism GitHub परियोजना का उपयोग किया जाता है। आपको बस इतना करना है कि इसे ले कर लेआउट की बिटमैप छवि लें। यहां कोड है जो CurlActivity.java में loadBitmap फ़ंक्शन को प्रतिस्थापित करता है।

// Bitmap resources. 
private int[] mBitmapIds = { R.layout.infopage0,R.layout.infopage1, 
          R.layout.infopage2, R.layout.infopage3 }; 

    @Override 
    public int getPageCount() { 
     return 4; 
    } 

    private Bitmap loadBitmap(int width, int height, int index) { 
     LayoutInflater inflater = 
       (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     View v = inflater.inflate(mBitmapIds[index],null); 
     v.measure(
        MeasureSpec.makeMeasureSpec(width,MeasureSpec.EXACTLY), 
        MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); 
      v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight()); 
      Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight() 
        ,Bitmap.Config.ARGB_8888); 
      Canvas c = new Canvas(b); 
      v.draw(c);   
     return b; 
    } 

सरणी mBitmapIds अब XML लेआउट पहचान-पत्र की एक सरणी है।

+0

आपको बहुत धन्यवाद Locutus .. यह ठीक काम कर रहा है .... – Jomia

+0

आपको बहुत धन्यवाद Locatus ... आपका जवाब greate – fish40

+0

है मैं लेआउट के कर्लिंग को संभालने में सक्षम हूं, लेकिन समस्या यह है कि क्लिक को कैसे संभालना है बच्चे के विचार? क्योंकि स्क्रीन/दृश्य पर भी एक क्लिक की पहचान की जाती है जैसे कि मैं पृष्ठ को घुमाने के लिए चाहता हूं। –