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 天时间试图解决这个问题,但到目前为止没有任何运气。
谢谢你。
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |