zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    服务器×××上的MSDTC不可用解决办法
    安装VS2010后,更改iis的asp.net版本
    刷新后 页面 保持滚动条位置
    Atitit.java 反编译 工具  attilax 总结
    Atitit.收银系统模块架构attilax 总结
    Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc
    atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
    Atitit. Derby的使用总结attilax
    Atitit.attilax的 case list 项目经验 案例列表
    Atitit.收银系统pos 以及打印功能的行业标准
  • 原文地址:https://www.cnblogs.com/androidsj/p/3094841.html
Copyright © 2011-2022 走看看