2015-06-30 4 views
6

मैं अपने कस्टम संवाद में कुछ एनिमेशन सेट करना चाहता हूं और मैं इसे प्रोग्रामेटिक रूप से करना चाहता हूं। मुझे पता है कि मैं इसे xml एनिमेशन के साथ ऐसा कर सकता हूं:एनामेट कस्टम डायलॉग प्रोग्रामेटिक रूप से

<style name="DialogAnimation"> 
    <item name="android:windowEnterAnimation">@anim/slide_up_dialog</item> 
    <item name="android:windowExitAnimation">@anim/slide_out_down</item> 
</style> 


Dialog imageDiaglog= new Dialog(MainActivity.this,R.style.DialogAnimation); 

लेकिन मैं इसे प्रोग्रामेटिक रूप से करना चाहता हूं। मैं अपने प्रोग्रामेटिक रूप से बनाए गए एनिमेशन को डायलॉग शो() और छुपाएं() विधियों में कैसे सेट कर सकता हूं?

धन्यवाद।

उत्तर

1

आप नहीं कर सकते क्योंकि संवाद एनीमेशन संक्रमण के लिए शैली तत्व का उपयोग करता है। और आप शैली तत्वों को प्रोग्रामेटिक रूप से सेट नहीं कर सकते हैं।

+0

ठीक धन्यवाद .. यह प्रोग्रामिंग के साथ प्रोग्रामिंग के साथ संभव है? –

+0

हां यह संभव है –

+0

यदि संभव हो तो कृपया अपना उत्तर पोस्ट करें। मैं आपको बक्षीस देता हूं। धन्यवाद –

0

आप DialogFragment का उपयोग कर सकते हैं और onCreateDialog(Dialog) या onStart() में एनीमेशन सेट कर सकते हैं। here से उदाहरण:

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    Dialog dialog = super.onCreateDialog(savedInstanceState); 
    dialog.getWindow().getAttributes().windowAnimations = R.style.detailDialogAnimation; 
    return dialog; 
} 
+0

मुझे एनीमेशन प्रोग्राम की जरूरत है .. एनीमेशन फ़ाइल से नहीं –

+0

आपको 'getDialog()। getWindow()। setEnterTransition (yourTransition); 'का उपयोग करने में सक्षम होना चाहिए। आपको 'dialog.getWindow()। अनुरोध फ़ीचर (विंडो.FEATURE_CONTENT_TRANSITIONS) कॉल करने की आवश्यकता हो सकती है; ' –

संबंधित मुद्दे