ConstraintLayout宽度0

时间:2018-11-09 19:28:09

标签: android android-constraintlayout

我在xml中使用ConstraintLayout:

<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 :(得分:1)

您可以尝试使用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();

答案 1 :(得分:-1)

可以使用1的0整数吗? 从100到1?