Android进阶-Android自带APIDemo与震动器

原创 2015年11月19日 20:22:21

Android进阶-Android自带APIDemo与震动器

API-Demo

在android-sdk\samples\android-14\ApiDemos下有许多Android为他的特性提供的Demo。
在学习android时, 我们可以经常去看看这个API Demo, 看看有什么我们感兴趣, 可以学习的东西, 然后单独学习一下。
可以把APIDemo 导入到eclipse中, 然后安装到真机上,以便学习。

如果我们想查询APIDemo中相关代码, 可以使用eclipse中的 search file功能

Shnake动画与插补器

API-Demo给出了Shnake动画的演示, 例如让EditText来回摆动。
按照Demo中给出的范例,我们可以这样使用:

在res/ 目录下创建shake.xml和cycle_7.xml (shake.xml用来定义shake动画,cycle_7.xml中定义了相关的插补器)

    <!--shake.xml-->
        <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-->
        <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />

    -代码中使用shnake动画
        Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
        EditText.startAnimation(shake);

通过上面这个范例, 可以来看以下插补器是干什么的。
拿shake动画为例, shake动画是左右摇晃, 那么这个摇晃也是有说法的, 你的摇晃的轨迹与速度是个什么关系呢?
即插补器可以理解为,定义运动轨迹与速度的关系 -> 在高中数学看来, 就可以理解为斜率(加速度为多少) —> 可以看出数学好的程序员, 又会到另一个更高的层次了, 小伙, 好好学数学!!!
Android中已经定义好了一些插补器, 例如:
LinearInterpolator 直线插补器(匀速)
DecelerateInterpolator 减速插补器(先快后慢)
AccelerateInterpolator 加速插补器(先慢后快)
AccelerateDecelerateInterpolator (效果)加速减速插补器(先慢后快再慢)

上面这些插补器的数学方程你会写吗?????

  • 简单自定义插补器
 shake.setInterpolator(new Interpolator() {

         @Override   //y = x
         public float getInterpolation(float x) {

             return x;
         }
     });
  • 文本框监听器
    当我们想监听文本框内容,并作出实时反应的话,可以使用这个
    EditText.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String queryNumber = s.toString();
                    /*do something*/
            }
  • 震动器 Vibrator

使用它我们可以去使手机震动。使用它需要获得权限: android.permission.VIBRATE
范例:

        Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);  
        // vibrator.vibrate(2000);震动两秒

        //参2表示从第几个位置开始循环
        vibrator.vibrate(new long[] { 1000, 2000, 1000, 3000 }, -1);    // 先等待1秒,再震动2秒,再等待1秒,再震动3秒,
                                                                        // 参2等于-1表示只执行一次,不循环,
                                                                        // 参2等于0表示从头循环,

        // 取消震动vibrator.cancel()
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android开发之手机震动器

Android中用Vibrator类的对象来控制震动器。 要获得设备的震动器,要调用getSystemService(String)函数,以VIBRATOR_SERVICE 为参数。       ...

Android进阶:Google自带语音播放功能实现

转自:http://blog.csdn.net/wanglong0537/article/details/6442999 在Android 中使用语音播放功能 只需要使用类 TextToSp...

Android进阶——自定义View之继承系统控件实现自带删除按钮动画效果和软键盘自动悬浮于文本框下方

继承系统现有控件扩展实现类似IOS风格的EditText,可以设置抖动动画和自带删除小图标的UI效果,*当输入时自动添加上删除按钮和当输入为空的时候点击按钮触发非空的抖动动画,其他的和普通的EdiTe...

Android 小闹钟(带声音和震动)

  • 2012年04月20日 07:35
  • 14.27MB
  • 下载

4.4.2自带APIDemo

  • 2014年07月25日 16:25
  • 4.54MB
  • 下载

android中类似 QQ震动窗口的实现,带声音和振动效果

效果就是如标题。好了,直接上代码 其实手机上看着的振动效果就是1个  animaton 首先写1个 interpolatotr  -  定义一个动画的变化率(the rate of change)这使...

Android2.2自带apk安装器源码

  • 2012年08月28日 10:43
  • 66KB
  • 下载

Android ApiDemo 笔记(二)Graphics和View

Android ApiDemo 笔记(二)Graphics和View http://blog.csdn.net/wufenglong/article/details/5605713 pac...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android进阶-Android自带APIDemo与震动器
举报原因:
原因补充:

(最多只允许输入30个字)