在 textview 上更改约束布局时,文本不跟随动画

Mag*_*ech 6 animation android textview android-layout android-constraintlayout

我试图在文本视图上制作动画,当它被按下时。

文本视图在顶部扩展以填充屏幕。

以下两张图片显示了我按下之前和之后的文本视图。

点击前

动画片

如您所见,在更改约束布局(做动画)时,文本会向下跳。

红点,textView 中的一个 drawable 应该遵循,但文本行为错误。我附上了 onclick 方法调用的动画代码。它改变了 textview 中的约束。

注意:mapsContainer 是包含谷歌地图和菜单栏的容器。searchDummmy 是文本视图。

guidelineText 是一条线,用于设置 searchdummy 的高度。

private void animateSearchDummy() {

    searchDummyConsttraints.clone((ConstraintLayout) fragmentView.findViewById(R.id.mapsContainer));

    AutoTransition t = new AutoTransition();
    t.setDuration(5000);
    TransitionManager.beginDelayedTransition((ConstraintLayout) fragmentView.findViewById(R.id.mapsContainer), t);

    searchDummyConsttraints.clear(R.id.searchDummy);

    searchDummyConsttraints.constrainHeight(R.id.searchDummy, 0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.BOTTOM, R.id.guidelineTest, ConstraintSet.TOP, 0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.LEFT, R.id.mapsContainer, ConstraintSet.LEFT,0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.RIGHT, R.id.mapsContainer, ConstraintSet.RIGHT,0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.TOP, R.id.mapsContainer, ConstraintSet.TOP,0);

    searchDummyConsttraints.applyTo((ConstraintLayout) fragmentView.findViewById(R.id.mapsContainer)); 
}
Run Code Online (Sandbox Code Playgroud)

还附上了该视图的 xml 文件。

private void animateSearchDummy() {

    searchDummyConsttraints.clone((ConstraintLayout) fragmentView.findViewById(R.id.mapsContainer));

    AutoTransition t = new AutoTransition();
    t.setDuration(5000);
    TransitionManager.beginDelayedTransition((ConstraintLayout) fragmentView.findViewById(R.id.mapsContainer), t);

    searchDummyConsttraints.clear(R.id.searchDummy);

    searchDummyConsttraints.constrainHeight(R.id.searchDummy, 0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.BOTTOM, R.id.guidelineTest, ConstraintSet.TOP, 0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.LEFT, R.id.mapsContainer, ConstraintSet.LEFT,0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.RIGHT, R.id.mapsContainer, ConstraintSet.RIGHT,0);
    searchDummyConsttraints.connect(R.id.searchDummy, ConstraintSet.TOP, R.id.mapsContainer, ConstraintSet.TOP,0);

    searchDummyConsttraints.applyTo((ConstraintLayout) fragmentView.findViewById(R.id.mapsContainer)); 
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

我花了 4 天时间试图解决这个问题,但到目前为止没有任何运气。

谢谢你。