Ширина ConstraintLayout 0 - PullRequest
       4

Ширина ConstraintLayout 0

0 голосов
/ 09 ноября 2018

Я использую ConstraintLayout в xml:

<android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/LabelTv"
                android:layout_width="wrap_content"
                android:layout_height="45dp"
                android:text="test"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

<android.support.constraint.ConstraintLayout/>

Я знаю, если использовать 0dp для Android: layout_width, означает полную ширину. Мне нужно воспроизвести анимацию от 100dp до 0dp, но при ее воспроизведении ошибка последнего значения 0 и ширина textView заполнены.

ValueAnimator va = ValueAnimator.ofInt(100 ,0);
va.setDuration(3000);
va.addUpdateListener(valueAnimator -> {
      leftLabelTv.getLayoutParams().width = (int) valueAnimator.getAnimatedValue();
      leftLabelTv.requestLayout();
});
va.start();

любое тело может мне помочь?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Можете ли вы использовать 1 целое число из 0? от 100 до 1?

0 голосов
/ 09 ноября 2018

Вы можете попробовать с ConstraintLayout.LayoutParams. matchConstraintMaxWidth

ValueAnimator va = ValueAnimator.ofInt(100 ,0);
va.setDuration(3000);
va.addUpdateListener(valueAnimator -> {
      ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) leftLabelTv.getLayoutParams()
      params.matchConstraintMaxWidth = (int) valueAnimator.getAnimatedValue();
      leftLabelTv.requestLayout();
});
va.start();
...