动画删除layout_centerHorizo​​ntal

时间:2016-12-06 23:08:30

标签: android android-animation android-relativelayout

我有一个垂直居中的视图。我想删除layout_centerHorizontal属性,以便它会出现在视图的顶部,但我想为该过渡设置动画。

的xml:

<RelativeLayout
    android:id="@+id/center_box"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="65sp"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:animateLayoutChanges="true"
    >
    ...
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:text="HELLO WORLD"
        android:textColor="#fff"
        android:maxLines="1"
        android:gravity="center"
        android:layout_centerVertical="true"
        android:textSize="35sp" />
    ...
</RelativeLayout>

的java

 private void showSplits(){
    RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) centerBox.getLayoutParams();
    lp.removeRule(RelativeLayout.CENTER_VERTICAL);
    centerBox.setLayoutParams(lp);
    //but I want to animate this instead...
}

1 个答案:

答案 0 :(得分:0)

动画代码:

Battlefield

在java函数代码中:

public class Battlefield : Environment {
    public List<ENTITY> Population
    {
      get
      {
        var epop = base.Population;
        return epop.Union(Casualties);
      }
    }

    public List<ENTITY> Casualties
    {
      get { return this.casualties; }
    }
}

在创建视图代码中:

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">

<translate
android:fromYDelta="0%p"
android:toYDelta="100%p"
android:duration="800" />
</set>

你应该实现AnimationListener。