java - 在屏幕中平滑移动按钮 - Android

标签 java android

我已经关注了这个答案How to make a Button randomly Move ,它按我想要的方式工作,但按钮出现并从屏幕上消失。

我想这样做:h ttp://jsfiddle.net/Xw29r/15/

我在android中没有找到任何与此相关的内容。

最佳答案

使用 settranslate 创建 XML 动画,并将此 XML 文件放入 /res/anim 文件夹。

这是一个例子

//sequestial_move.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator" >

    <!-- Use startOffset to give delay between animations -->
    <!-- Move -->
    <translate
        android:duration="800"
        android:fillAfter="true"
        android:fromXDelta="0%p"
        android:startOffset="300"
        android:toXDelta="75%p" />
    <translate
        android:duration="800"
        android:fillAfter="true"
        android:fromYDelta="0%p"
        android:startOffset="1100"
        android:toYDelta="70%p" />
    <translate
        android:duration="800"
        android:fillAfter="true"
        android:fromXDelta="0%p"
        android:startOffset="1900"
        android:toXDelta="-75%p" />
    <translate
        android:duration="800"
        android:fillAfter="true"
        android:fromYDelta="0%p"
        android:startOffset="2700"
        android:toYDelta="-70%p" />

</set>

使用:

XML加载动画并使用.startAnimation(..)方法使用动画

    ............
    ...................

    TextView txtMessage = (TextView) findViewById(R.id.txtMessage);
    Button btnStart = (Button) findViewById(R.id.btnStart);

    // load the animation
    Animation animSequestialMove = AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.sequestial_move);

    // button click event
    btnStart.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            txtMessage.setVisibility(View.VISIBLE);

            // start the animation
            txtMessage.startAnimation(animSequestialMove);
        }
    });

    .............
    .....................

这是一个很好的tutorial关于不同类型的动画

希望对你有帮助~

关于java - 在屏幕中平滑移动按钮 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101107/

相关文章:

java - 如何在不使用bean的情况下将LinkedHashMap值输入数据库?

java - 使用 Marshaller 将 Java 对象转换为 Json

java - 我不知道如何在Java中安装JEasyOPC

android - 在我的 Mac 上启动 Android Studio 时出现 "SDK tools directory is missing"

Java SLF4J 层次结构执行

java - Java中如何查找IP地址建立的TCP连接数?

java - 如何将另一个项目中的项目作为模块使用?

javascript - 如何将网络应用程序添加到用户主屏幕?

android - 关闭按钮一半在外面的自定义对话框

android - 如何在Android中运行PPT文件