如何在android studio中为文本视图添加动作

时间:2017-01-09 15:55:02

标签: android animation textview

我想将动画添加到文本块中,以便从屏幕右侧进入。有没有办法做到这一点

4 个答案:

答案 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

enter image description here enter image description here enter image description 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(“新文字”),那么动画就会发生。