के साथ लीनियरलायआउट कंटेनर की ऊंचाई का एनीमेशन मेरे पास एक लाइनरलाइट है जो मैं कुछ बटन और टेक्स्टव्यू के लिए एक कंटेनर के रूप में उपयोग करता हूं कि मैं लेआउट के इंप्रेशन को देने के लिए ऊंचाई को एनिमेट करना चाहता हूं जब उपयोगकर्ता " दिखाएं "बटन।ValueAnimator
मैंने लाइनरलाइट को layout_height = "0dp" और दृश्यता = "चला गया" मेरे xml में सेट किया है। मैं फिर इसे दिखाना चाहता हूं और सामग्री को लपेटने के लिए जो भी ऊंचाई की आवश्यकता है। फिलहाल मुझे इसे एनिमेट करने में भी समस्याएं आ रही हैं, लपेटें सामग्री की ऊंचाई को कभी भी न मानें।
यहाँ animating के लिए मेरे विधि है:
private void toggle(final LinearLayout v) {
v.setVisibility(View.VISIBLE);
ValueAnimator va = ValueAnimator.ofInt(0, 300);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer) animation.getAnimatedValue();
v.getLayoutParams().height = value.intValue();
v.invalidate();
}
});
va.start();
}
शायद समस्या मैं कैसे LinearLayout की ऊंचाई की स्थापना कर रहा हूँ? या क्या मैं ValueAnimator के फ़ंक्शन को गलत समझ रहा हूं? मैंने चेट हास द्वारा ब्लॉग पोस्ट पर चारों ओर देखा है लेकिन उनमें कोई विशिष्ट ऊंचाई एनीमेशन उदाहरण नहीं हैं। मैं भी 3.0+ से एपीआई का उपयोग कर ऊंचाई के एनिमेशन के साथ काम करने के तरीके के बारे में और अच्छे उदाहरण खोजने में सक्षम हूं। इस पर कुछ मदद चाहिए, धन्यवाद!
क्यों लेआउट एनीमेशन का उपयोग न करें? –
सचमुच मुझे इसका उपयोग करने के बारे में कोई जानकारी नहीं है और मुझे लगा कि चूंकि मैं केवल एपीआई के नए संस्करणों को लक्षित कर रहा हूं, इसलिए नए वर्गों का उपयोग करना आसान होगा ... मैं लेआउटएनीमेशन के साथ इसे कैसे करना चाहता हूं, अगर आपको यह पता है कि इसे कैसे किया जाए तो इसे बेहतर समाधान के रूप में पोस्ट करने में संकोच न करें :) – span
क्या अमान्य करने का कोई कारण है? – portfoliobuilder