View Shaker是一种动画,其中,屏幕的UI在有限的时间内振动。这可以在整个布局或某些特定的小部件上实现。开发人员经常使用这种效果,特别是显示不正确的凭据。
View Shaker可帮助我们为小部件制作动画。可以添加各种效果。
特效
- 引力
- 闪光,脉冲,橡皮筋,震动,摇摆,摆动,弹跳,Tada,站立,波动
- 铰链,滚入,滚出,着陆,起飞,退出
- BounceIn,BounceInDown,BounceInLeft,BounceInRight,BounceInUp
- FadeIn,FadeInUp,FadeInDown,FadeInLeft,FadeInRight
FadeOut,FadeOutDown,FadeOutLeft,FadeOutRight,FadeOutUp
- FlipInX,FlipOutX,FlipOutY
- RotateIn,RotateInDownLeft,RotateInDownRight,RotateInUpLeft,RotateInUpRight
RotateOut,RotateOutDownLeft,RotateOutDownRight,RotateOutUpLeft,RotateOutUpRight
- SlideInLeft,SlideInRight,SlideInUp,SlideInDown
SlideOutLeft,SlideOutRight,SlideOutUp,SlideOutDown
- ZoomIn,ZoomInDown,ZoomInLeft,ZoomInRight,ZoomInUp
ZoomOut,ZoomOutDown,ZoomOutLeft,ZoomOutRight,ZoomOutUp
在本文中,我们将看到在应用程序中添加这种效果的示例。
在此示例中,用户想要登录GeeksforGeeks门户。用户输入了错误的密码,然后单击登录按钮。然后,我们可以使用View Shaker对视图进行动画处理,以使应用程序更具响应性。
方法
- 在build.gradle文件中添加支持库,并在“依赖项”部分中添加依赖项。该库具有上述各种动画效果。它有助于使我们的应用程序更具响应性和动态性。
dependencies { implementation 'com.daimajia.easing:library:2.0@aar' implementation 'com.daimajia.androidanimations:library:2.3@aar' }
- 现在,将以下代码添加到activity_main.xml文件中。这段代码在activity_main上添加了一个textview ,两个edittexts和一个按钮。
activity_main.xml
MainActivity.java
package org.geeksforgeeks.gfgviewshaker; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import com.daimajia.androidanimations .library .Techniques; import com.daimajia.androidanimations .library .YoYo; public class MainActivity extends AppCompatActivity { Button login; EditText id, password; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); login = findViewById(R.id.button); id = findViewById(R.id.editText1); password = findViewById(R.id.editText2); login.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { YoYo.with(Techniques.Shake) .duration(500) .repeat(2) .playOn(id); YoYo.with(Techniques.Shake) .duration(500) .repeat(2) .playOn(password); } }); } }
- 现在,在MainActivity中添加以下代码。 Java文件。将onClickListener添加到“登录”按钮上,这将在两个edittext上都添加了Shake效果。诸如duration的不同功能设置持续时间, repeat设置效果应重复的次数, playOn设置特定窗口小部件上的效果。
主要活动。Java
package org.geeksforgeeks.gfgviewshaker; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import com.daimajia.androidanimations .library .Techniques; import com.daimajia.androidanimations .library .YoYo; public class MainActivity extends AppCompatActivity { Button login; EditText id, password; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); login = findViewById(R.id.button); id = findViewById(R.id.editText1); password = findViewById(R.id.editText2); login.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { YoYo.with(Techniques.Shake) .duration(500) .repeat(2) .playOn(id); YoYo.with(Techniques.Shake) .duration(500) .repeat(2) .playOn(password); } }); } }
输出: