• EditText X/Y轴和仿苹果 抖动效果


    ShakeDemo\res\layout\main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/bg"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bg"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_centerHorizontal="true"
            android:text="@string/mShake"
            android:textSize="20sp"
            android:textStyle="bold"
            android:textColor="#000000" />
    
        <EditText
            android:id="@+id/passWd"
            android:layout_marginTop="20dip"
            android:layout_width="200dip"
            android:layout_height="wrap_content"
            android:layout_below="@+id/text"
            android:layout_centerHorizontal="true"
            android:clickable="true"
            android:singleLine="true" />
    
        <Button
            android:id="@+id/shake_x"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/passWd"
            android:text="X轴抖动" />
    
        <Button
            android:id="@+id/shake_y"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/shake_x"
            android:layout_alignBottom="@+id/shake_x"
            android:layout_alignParentRight="true"
            android:text="Y轴抖动" />
    
        <Button
            android:id="@+id/shake"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/shake_x"
            android:layout_alignBottom="@+id/shake_x"
            android:layout_centerHorizontal="true"
            android:text="仿苹果抖动" />
    
        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/shake"
            android:layout_below="@+id/shake"
            android:layout_marginTop="23dp"
            android:src="@drawable/icon" />
    
    </RelativeLayout>
    View Code

    ShakeDemo\src\com\shake\ShakeDemoActivity.java

            // 仿苹果抖动效果
            shake.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    Animation shake = AnimationUtils.loadAnimation(
                            ShakeDemoActivity.this, R.anim.anim);
                    shake.reset();
                    shake.setFillAfter(true);
                    // 图片控件
                    image.startAnimation(shake);
                }
            });
            // X轴抖动
            shake_x.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    Animation shakeAnim = AnimationUtils.loadAnimation(ShakeDemoActivity.this,
                            R.anim.shake_x);
                    passWd.startAnimation(shakeAnim);
                }
            });
            // Y轴抖动
            shake_y.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    Animation shakeAnim = AnimationUtils.loadAnimation(ShakeDemoActivity.this,
                            R.anim.shake_y);
                    passWd.startAnimation(shakeAnim);
                }
            });
    View Code

    ShakeDemo\res\anim\anim.xml

    <?xml version="1.0" encoding="utf-8"?>
    <rotate 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="180"
        android:fromDegrees="-2"
        android:pivotX="100%"
        android:pivotY="100%"
        android:repeatCount="infinite"
        android:repeatMode="reverse"
        android:toDegrees="2" />
    View Code

    ShakeDemo\res\anim\cycle.xml

    <?xml version="1.0" encoding="utf-8"?>
    <cycleInterpolator 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        android:cycles="20" />
    View Code

    ShakeDemo\res\anim\shake_x.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" />
    View Code

    ShakeDemo\res\anim\shake_y.xml

    <?xml version="1.0" encoding="utf-8"?>
    <translate 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromYDelta="0"
        android:interpolator="@anim/cycle"
        android:toYDelta="10" >
    </translate>
    View Code


    DEMO完整下载路径  http://download.csdn.net/detail/androidsj/5434921

  • 相关阅读:
    echarts做飞线图
    git 检出项目部分目录(稀疏检出)
    nuxt.js引入客户端脚本和第三方库出现window/document/ navigator未定义问题
    防止重复发送 Ajax 请求
    利用CSS、JavaScript及Ajax实现图片预加载的三大方法
    JavaScript中this的指向问题
    掌握jQuery插件开发
    原生javascript实现图片放大镜效果
    javascript实现页面滚屏效果
    JavaScript利用闭包实现模块化
  • 原文地址:https://www.cnblogs.com/androidsj/p/3094841.html
Copyright © 2020-2023  润新知