سؤال

أحاول تحريك عرض TextView على changetext ولكن دائمًا أرى اتجاهًا واحدًا فقط من الرسوم المتحركة ، أرى فقط Fadeout

ما أحاوله هو: Be Forshange = fadeout و onchange أو بعد فادين

فيما يلي الكود الخاص بي في طريقة OnCreate لنشطتي:

    final Animation out = new AlphaAnimation(1.0f, 0.0f);
    out.setDuration(1000);

    final Animation in = new AlphaAnimation(0.0f, 1.0f);
    in.setDuration(1000);


    bidFirst.setAnimation(out);
    bidMiddle.setAnimation(out);
    bidLast.setAnimation(out);

    TextWatcher bidWatcher = new TextWatcher() {
      public void onTextChanged(CharSequence s, int start, int before, int count) {
        in.startNow();
        bidFirst.setAnimation(out);
        bidMiddle.setAnimation(out);
        bidLast.setAnimation(out);
      }

      public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        out.startNow();
        bidFirst.setAnimation(in);
        bidMiddle.setAnimation(in);
        bidLast.setAnimation(in);
      }

      public void afterTextChanged(Editable s) {
      }
    };
    bidFirst.addTextChangedListener(bidWatcher);
    bidMiddle.addTextChangedListener(bidWatcher);
    bidLast.addTextChangedListener(bidWatcher);

أعتقد أن هناك شيئًا خاطئًا في الكود الخاص بي ، لكن لأعتقد أنه يجب أن يعمل.

ما لدي الآن هو: في كل setText ، يتلاشى النص الذي تم تغييره فقط ، ولكن بعد تغير النص ولم يسبق أبدًا!؟

هل كانت مفيدة؟

المحلول

Textswitcher هو بالضبط ما تبحث عنه. فقط استخدمهم setInAnimation() و setOutAnimation. من الرسوم المتحركة سيتم تشغيلها تلقائيًا إذا قمت بتغيير النص setText()

نصائح أخرى

من خلال مظهر الكود الخاص بك ، تخبر TextView أن تتلاشى بعد التغيير بدلاً من التلاشي.

كما أنني لست متأكدًا من مدى فعالية هذا الرمز كما يطلق على BeForetextChanged لحظات فقط قبل تغيير النص. ببساطة لن يكون هناك ما يكفي من الوقت لحدوث أي رسوم متحركة على BeForetextChanged حيث سيتم استبدالها على الفور بالرمز الخاص بك في ontextchanged

يحرر** الرد على التعليق أدناه

حتى الحصول على TextView لتتلاشى ثم أتلاشى مع محتوى جديد ، سأبدأ برمجيًا رسومًا متحركة Fadeout بدلاً من استخدام مراقبة النص. أود أن أعطي الرسوم المتحركة Fadeout الرسوم المتحركة وعلى الرسوم المتحركة ، يمكنك بعد ذلك تعيين النص الجديد قبل بدء تشغيل الرسوم المتحركة Fadein.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top