如何在安卓中实现 View Shaker
查看 Shaker 是一个动画,画面的 UI 在有限的时间内震动。这可以在整个布局或某个特定的小部件上实现。这是开发人员使用的一种非常常见的效果,尤其是显示不正确的凭据。
查看 Shaker 帮助我们激活小部件。可以添加各种效果。 T3【效果】T4
-
Attension * *Special * *Bounce* * Fade * Flip * Rotate * Slide * ***Zoom
在本文中,我们将看到一个在应用程序中添加这种效果的例子。
在本例中,用户想要登录极客博客门户。用户输入了错误的密码,然后点击登录按钮。然后,我们可以使用视图摇动器来动画化视图,使应用程序更具响应性。 进场
-
在 build.gradle 文件中添加支持库,并在依赖项部分添加依赖项。该库具有上述各种动画效果。它有助于使我们的应用程序更加灵敏和动态。
java dependencies { implementation 'com.daimajia.easing:library:2.0@aar' implementation 'com.daimajia.androidanimations:library:2.3@aar' }
-
现在在 activity_main.xml 文件中添加以下代码。此代码在 activity_main 上添加一个文本视图,两个编辑文本和一个按钮。
activity _ main . XML
```java <?xml version="1.0" encoding="utf-8"?>
<EditText android:id="@+id/editText1" android:layout_margin="15dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter ID" /> <EditText android:id="@+id/editText2" android:layout_margin="15dp" android:inputType="textPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter Password" /> <Button android:id="@+id/button" android:layout_margin="25dp" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Log In"/> ```
-
现在在MainActivity.java文件中添加以下代码。onClickListener 被添加到登录按钮,该按钮在两个编辑文本上添加了摇动效果。不同的功能如持续时间设置持续时间,重复设置效果应该重复的次数,播放设置特定小部件的效果。
MainActivity.java
```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); } }); } } ```
输出:
-
版权属于:月萌API www.moonapi.com,转载请注明出处