अगर मैं height या width के लिए value असाइन करता हूं तो container एनिमेट करता है। लेकिन, मैं height या width को container को असाइन नहीं करना चाहता।

अभी, जब मैं इसे child असाइन करता हूं, तो container आकार अपने आप सेट हो जाता है। अगर child का आकार बदलता है, तो container का आकार भी बदल जाता है।

मेरा कोड नीचे जैसा दिखता है

                      AnimatedContainer(
                        padding:
                            EdgeInsets.symmetric(horizontal: 20, vertical: 5),
                        decoration: BoxDecoration(
                          color: Colors.white,
                          borderRadius: BorderRadius.circular(20),
                        ),
                        child: Text(
                          '$someText',
                          style: TextStyle(
                              color: Colors.amber,
                              fontWeight: FontWeight.bold,
                              fontSize: 16),
                        ),
                      ),

अगर $someText का मान बदलता है, तो container की चौड़ाई भी बदल जाती है। लेकिन animation काम नहीं करता।

0
Xihuny 24 जिंदा 2020, 21:44

1 उत्तर

सबसे बढ़िया उत्तर

एनिमेटेड कंटेनर के बजाय आपको एनिमेटेड आकार का प्रयास करना चाहिए।

Container(
    padding: EdgeInsets.symmetric(horizontal: 20, vertical: 5),
    decoration: BoxDecoration(
      color: Colors.white,
      borderRadius: BorderRadius.circular(20),
    ),
    child: AnimatedSize(
      vsync: this,
      duration: Duration(milliseconds: 200),
      child: Text(
        'Text',
        style: TextStyle(
            color: Colors.amber, fontWeight: FontWeight.bold, fontSize: 16),
      ),
    ),
  ),

साथ ही आपको इसके लिए अपने राज्य में TickerProviderStateMixin जोड़ना होगा।

0
DennisSzymanski 24 जिंदा 2020, 19:30