Android 将GridLayout中的TextView设置为视图顶部的动画

Android 将GridLayout中的TextView设置为视图顶部的动画,android,android-animation,android-gridlayout,Android,Android Animation,Android Gridlayout,我有一个以视图为中心的GridLayout,其中包含多个文本视图 当我获得文本视图并设置动画时,x和y是相对于网格布局的 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:

我有一个以视图为中心的GridLayout,其中包含多个文本视图

当我获得文本视图并设置动画时,x和y是相对于网格布局的

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.research.app2.GridLayoutActivity">

        <Button
            android:layout_alignParentRight="true"
            android:id="@+id/animateButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:text="Animate" />


        <GridLayout
            android:id="@+id/gridLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:columnCount="4">

            <TextView
                style="@style/gridViewText"
                android:layout_column="0"
                android:text="A" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="1"
                android:text="B" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="2"
                android:text="C" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="3"
                android:text="D" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="0"

                android:text="E" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="1"
                android:text="F" />

            <TextView
                style="@style/gridViewText"
                android:text="G" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="3"
                android:text="H" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="0"

                android:text="I" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="1"
                android:text="J" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="2"
                android:text="K" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="3"
                android:text="L" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="0"

                android:text="M" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="1"
                android:text="N" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="2"
                android:text="O" />

            <TextView
                style="@style/gridViewText"
                android:layout_column="3"
                android:text="P" />
        </GridLayout>


    </RelativeLayout>



public class GridLayoutActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_grid_layout);
    final GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout);

    Button animatebutton = (Button) findViewById(R.id.animateButton);

    animatebutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            TextView textView = (TextView) gridLayout.getChildAt(15);

            textView.animate().x(0f).y(0f);

        }
    });
}
如何将TextView从GridLayout设置为按钮左侧视图顶部(而不是GridLayout顶部)的动画


公共类GridLayoutActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u grid\u布局);
最终GridLayout GridLayout=(GridLayout)findViewById(R.id.GridLayout);
按钮animatebutton=(按钮)findViewById(R.id.animatebutton);
animatebutton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
TextView TextView=(TextView)gridLayout.getChildAt(15);
textView.animate().x(0f).y(0f);
}
});
}

}

我可以通过添加

android:clipChildren=“false”

到GridLayout的父RelativeLayout