将一行文本视图平滑地转换为两行文本视图



我正在使用转换两个视图,一个ImageView和一个Textview

ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation((Activity) context, viewPairs.toArray(new Pair[viewPairs.size()]));
context.startActivity(intent, options.toBundle());

图像运行良好,但文本视图正在从2行文本视图转换为1行文本视图,这运行良好,问题是,当它从1行转换回2行时,它就像是波涛汹涌,似乎有点小故障。我想知道是否有办法让它平稳下来,让它成为一个更愉快的过渡。上面的这个调用是在一个静态方法中进行的,它是从Recycleview适配器中调用的。

感谢您抽出时间

这样做:

textview.setPaintFlags(textview.getPaintFlags() | Paint.ANTI_ALIAS_FLAG);

还可以查看这个答案

如果在View:中添加这样的属性会怎么样

<ImageView
..
android:animateLayoutChanges="true" />

您可以将ViewSwitcher与动画一起使用:

<ViewSwitcher android:id="@+id/text_switcher"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:measureAllChildren="false"
android:inAnimation="@android:anim/fade_in"
android:outAnimation="@android:anim/fade_out">
<TextView android:id="@+id/short_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/long_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</ViewSwitcher>

像这样切换文本:

mSwitcher = findViewById(R.id.text_switcher);
mSwitcher.showNext();

最新更新