前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[android] 手机卫士输入框抖动和手机震动

[android] 手机卫士输入框抖动和手机震动

作者头像
唯一Chat
发布2019-09-10 15:01:03
7530
发布2019-09-10 15:01:03
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

查看apiDemos,找到View/Animation/shake找到对应的动画代码,直接拷贝过来

当导入一个项目的时候,报R文件不存在,很多情况是xml文件出错了

Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);

et_phone.startAnimation(shake);

动画的xml文件shake.xml

android:interpolator="@anim/cycle_7"

interpolator是插入器,可以定义动画的速度等

调用Animation对象的setInterpolator()方法,设置插入器,参数:Interpolator对象

匿名实现Interpolator接口,重写getInterpolation()方法,设置中自定义动画速率,传入一个flaot x

输入框的震动效果

获取Vibrator对象,调用getSystemService()方法,参数:VIBRATOR_SERVICE

调用Vibrator对象的vibrate()方法,参数:毫秒

需要添加权限android.permission.VIBRATE

这个可以做一些振动器~

代码语言:javascript
复制
    /**
     * 查询归属地
     */
    public void queryNumber(View v) {
        phone = et_phone.getText().toString().trim();
        if (TextUtils.isEmpty(phone)) {
            //抖动动画
            Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
            et_phone.startAnimation(shake);
            //手机震动
            vibrator.vibrate(2000);
            Toast.makeText(this, "请输入手机号码", 0).show();
            return;
        }
        String result = NumberQueryAddressUtil.queryAddress(phone);
        tv_address.setText(result);
    }

shake.xml

代码语言:javascript
复制
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0"
    android:interpolator="@anim/cycle_7"
    android:toXDelta="10" />

cycle_7.xml

代码语言:javascript
复制
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-04-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档