我想将动画添加到文本块中,以便从屏幕右侧进入。有没有办法做到这一点
答案 0 :(得分:0)
是的,您可以使用动画为整个视图设置动画,特别是TranslateAnimation
从屏幕右侧输入:https://developer.android.com/guide/topics/graphics/view-animation.html
答案 1 :(得分:0)
您可以创建transition
文件。例如:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
android:transitionOrdering="together"
android:duration="250">
<slide android:slideEdge="right">
<targets>
<target android:targetId="@id/toolbar" />
</targets>
</slide>
</transitionSet>
然后在您开始活动的代码中:
Intent intent = new Intent(this, YourActivityHere.class);
ActivityOptionsCompat activityOptions =
ActivityOptionsCompat.makeSceneTransitionAnimation(this,
new Pair<View, String>(viewHolder.mIconView, getString(R.string.detail_icon_transition_name)));
ActivityCompat.startActivity(this, intent, activityOptions.toBundle());
答案 2 :(得分:0)
使用此库可轻松实现TextView动画,包括从左到右 链接 - &gt; Here
或以编程方式从X ---到------&gt;的简单动画X1(你可以通过改变负值/正值来恢复),
创建anim文件夹res(新&gt;目录)&gt;动画
添加资源xml
move_it.xml
maxDate
并在您的代码中
<?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:fromXDelta="-3%p"
android:toXDelta="30%p"
android:duration="1200" />
</set>
答案 3 :(得分:0)
TextSwitcher如何,每次文本更改,然后动画发生。
<TextSwitcher
android:id="@+id/txtSwitcher"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
然后在你的代码中:
TextSwitcher switcher = (TextSwitcher)findViewById(txtSwitcher);
switcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
TextView t = new TextView(ActivityClass.this);
//do other stuff the suit your needs
return t;
}
});
Animation in = AnimationUtils.loadAnimation(this,
android.R.anim.slide_in_left);
Animation out = AnimationUtils.loadAnimation(this,
android.R.anim.slide_out_right);
switcher.setInAnimation(in);
switcher.setOutAnimation(out);
如果你做了switcher.setText(“新文字”),那么动画就会发生。