Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将振动动画和设备振动设置为edittext?_Android_Animation_Android Edittext_Vibration - Fatal编程技术网

Android 如何将振动动画和设备振动设置为edittext?

Android 如何将振动动画和设备振动设置为edittext?,android,animation,android-edittext,vibration,Android,Animation,Android Edittext,Vibration,我想要的:我想要创建一个编辑文本,如果给定的输入为空或无效,该文本将振动 示例:在登录屏幕中,密码编辑文本为空或无效,编辑文本将在我的android设备需要振动一段时间的同时振动。如何创建该文本? 提前谢谢好的,这是您需要的 振动动画 将这两个xml文件放入res/anim文件夹中 振动.xml <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/

我想要的:我想要创建一个编辑文本,如果给定的输入为空或无效,该文本将振动

示例:在登录屏幕中,密码编辑文本为空或无效,编辑文本将在我的android设备需要振动一段时间的同时振动。如何创建该文本?

提前谢谢

好的,这是您需要的

振动动画 将这两个xml文件放入
res/anim
文件夹中

振动.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="10"
    android:duration="1000"
    android:interpolator="@anim/cycle_5" />
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="5" />
别忘了在menifest里写上许可

<uses-permission android:name="android.permission.VIBRATE" />
快乐编码

组件

 EditText mPassword = findViewById(R.id.edtPassword);
 Button mLogin = findViewById(R.id.btnLogin);
安卓设备振动

 private void AndroidDeviceVibrate() { // Android Device Vibration
    Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 500 milliseconds only
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        v.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE));
    } else {
        v.vibrate(500); // deprecated in API 26
    }
}
编辑文本振动动画

 public TranslateAnimation VibrateError() { // Edit text vibrate Animation
    TranslateAnimation vibrate = new TranslateAnimation(0, 10, 0, 0);
    vibrate.setDuration(600);
    vibrate.setInterpolator(new CycleInterpolator(8));
    return vibrate;
}
最后,

mLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String strPass = mPassword.getText().toString();
            if (TextUtils.isEmpty(strPass)) {
                AndroidDeviceVibrate();  // Android Device Vibrate
                mPassword.startAnimation(VibrateError()); // Edit text vibrate Animation
            }
        }
    });

到目前为止,您尝试了什么?您遇到了什么问题:检查edittext是否为空,或振动我尝试设置edittext振动并获得它。现在需要设置android设备振动如果我的edittext为空,我需要设置android设备振动和edittext振动@VladyslavMatviienkotry在问问题之前在谷歌上搜索
 public TranslateAnimation VibrateError() { // Edit text vibrate Animation
    TranslateAnimation vibrate = new TranslateAnimation(0, 10, 0, 0);
    vibrate.setDuration(600);
    vibrate.setInterpolator(new CycleInterpolator(8));
    return vibrate;
}
mLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String strPass = mPassword.getText().toString();
            if (TextUtils.isEmpty(strPass)) {
                AndroidDeviceVibrate();  // Android Device Vibrate
                mPassword.startAnimation(VibrateError()); // Edit text vibrate Animation
            }
        }
    });