代码之家  ›  专栏  ›  技术社区  ›  Rasoul Miri

约束布局宽度0

  •  1
  • Rasoul Miri  · 技术社区  · 6 年前

    我在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/>
    

    我知道如果android使用0dp:layout\u width,则表示全宽。 我需要播放从100dp到0dp的动画,但播放时,最后一个值0错误和textView width full。

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

    2 回复  |  直到 6 年前
        1
  •  1
  •   Aaron    6 年前

    你可以试试 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();
    
        2
  •  0
  •   JoM    6 年前

    你能用0中的1吗? 从100到1?

    推荐文章