源内容(英文)
Android View Animations 是用于在 Android 应用中为 TextView 和 EditText 添加令人惊叹的动画效果的技术。这些动画能以全新的方式让应用看起来更加流畅顺滑。在本文中,我们将一起在 Android Studio 中开发 Android 视图动画效果。
我们将在本文中构建什么?
在这篇文章里,我们将开发一个示例应用,演示如何在 Activity 中为 TextView 添加动画效果。下面提供了一个示例 GIF,帮助大家直观地了解我们即将实现的内容。请注意,我们将使用 Java 语言来实现这个项目。
!How to Apply View Animations Effects in Android
逐步实现
步骤 1:创建一个新项目
要在 Android Studio 中创建新项目,请参考 如何在 Android Studio 中创建/启动新项目 这篇文章。请注意,务必选择 Java 作为编程语言。
步骤 2:添加依赖
现在,请导航到 Gradle Scripts > build.gradle(Module:app) 文件,并在 dependencies 部分添加以下依赖项。
implementation ‘com.daimajia.androidanimations:library:2.4@aar‘
现在,同步你的项目。至此,我们在实现过程中所需的一切都已准备就绪,接下来让我们开始进入具体的实现环节。
步骤 3:编辑 activity_main.xml 文件
现在,进入 app >res > layout > activitymain.xml,将下面这段代码复制到 activitymain.xml 文件中。
步骤 4:编辑 MainActivity.java 文件
进入 app > java > package name > MainActivity.java 文件,并参考以下代码。下面是 MainActivity.java 文件的完整代码。代码中已经添加了注释,以便大家更详细地理解代码逻辑。
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.daimajia.androidanimations.library.Techniques;
import com.daimajia.androidanimations.library.YoYo;
public class MainActivity extends AppCompatActivity {
// declaring textView
TextView textView;
// declaring button
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing textView by findViewById
textView= findViewById(R.id.textView);
// initializing button by findViewById
button= findViewById(R.id.button);
// apply click event to button
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// making animated textView using YoYo.with()
// Tada can be replaced with other animation Effects
YoYo.with(Techniques.Tada)
.duration(700)
.repeat(5)
.playOn(findViewById(R.id.textView));
}
});
}
}
注意:
除了 Tada 效果之外,我们还可以使用其他动画效果。下面列出了一些精美的效果及其分类:
- Attention(注意类): Flash, Pulse, RubberBand, Shake, Swing, Wobble, Bounce, Tada, StandUp, Wave
- Special(特效类): Hinge, RollIn, RollOut, Landing, TakingOff, DropOut
- Bounce(弹跳类): BounceIn, BounceInDown, BounceInLeft