您的位置:首页 > 其它

手机输入框抖动效果 和 震动效果

2015-06-28 12:23 351 查看
首先分析 输入框抖动 效果 实际上 就是一个动画 左右循环 抖动

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

//下面的 可以设置 动画的 插入器 用函数来控制动画的动作

/* animation.setInterpolator(new Interpolator() {

@Override

public float getInterpolation(float input) {

// TODO Auto-generated method stub

return 0;

}

});*/

edt_select_number.startAnimation(animation);

上面 2行 代码设置 动画 其中R.anim.shake 是 一个抖动动画的 xml文件 从系统中得到的 自己也可以 自定义

R.anim.shake

<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2007 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<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

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />
其中 插入器可以 自定义 就相当于 初中学的函数

而对于震动效果 需要一个private Vibrator vibrator;

vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); 这是一个系统服务

由于 震动效果 会影响用户的使用 所以必须 添加相应的权限

<uses-permission
android:name="android.permission.VIBRATE"/>

vibrator.vibrate(2000);//振动两秒钟

//-1不重复,非-1为从pattern的指定下标开始重复

long[] pattern = {100,200,100,200,50,50}; //这个数组 是控制 震动的变化的

vibrator.vibrate(pattern, 1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: