zoukankan      html  css  js  c++  java
  • Android View的滑动 动画

    【scrollTo/scrollBy】

    //控件内的文字会移动,但是控件本身不会移动,而且移动到控件之外之后,文字也就看不见了

    if(v.equals(button2)){

    button2.scrollTo(5, 5);         //View内的文字会向左移动5,向上移动5,绝对坐标,只会移动一次

    Toast.makeText(this, "用户名", Toast.LENGTH_SHORT).show();

    }else if(v.equals(button3)){

    button3.scrollBy(5, 5);//View内的文字会向左移动5,向上移动5,相对坐标,会移动无数次

    Toast.makeText(this, "用",Toast.LENGTH_SHORT).show();

    }

    getX(),getY() //表示相对于手指点下去的那个View的左上角的x,y坐标

    getRawX(),getRawY() //表示相对于屏幕左上角的坐标

    【动画】

    //补间动画//原先的位子不会被侵占

    //可以移动整个控件A,可以通过fillAfter把控件停留在移动的终点

    //但是焦点实际上还是在原先的地方,从其他地方往原先的地方A移动,(移动的控件A可以获得焦点的情况下)控件A就会从停留的地方回来

    //(移动的控件A无法获得焦点的情况下)如果往原先的地方A移动,控件A会停留在移动的终点

    Animation animation2= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.slide_big_in_right);

    button2.startAnimation(animation2);

    <?xml version="1.0" encoding="utf-8"?>

    <set xmlns:android="http://schemas.android.com/apk/res/android"

        android:fillAfter="true">

    <translate

       android:fromXDelta="1920"

       android:toXDelta="1000"

       android:fromYDelta="0"

       android:toYDelta="0"

       android:duration="2000"

       android:interpolator="@android:anim/decelerate_interpolator" />   //表示动画集合中所采用的插值器,插值器影响动画的速度,比如非匀速动画就需要插值器来控制播放速度

                                                                                                       //decelerate_interpolator 动画越来越慢

    </set>

    //补间动画情况和上面一样  //其实焦点还是在原先的地方

    TranslateAnimation animation = new TranslateAnimation(0, 300,0, 0); 

    animation.setDuration(2000);//设置动画持续时间 

    animation.setRepeatCount(2);//设置重复次数 

    animation.setFillAfter(true);

    animation.setRepeatMode(Animation.REVERSE);//设置反方向执行 

    button4.startAnimation(animation); 

    //属性动画//原先的位子不会被侵占

    //整个控件会向右移动100,会停留在终点,焦点也在终点。在即使点击这个控件,它也还是在终点

    ObjectAnimator.ofFloat(button2, "translationX", 0,100)

    .setDuration(100).start();

    【改变布局参数】

    //整个控件会移动,焦点也会移动,会停留在最后。原先的位置会被侵占,

    RelativeLayout.LayoutParams mParams=(RelativeLayout.LayoutParams) button3.getLayoutParams();

    mParams.width=100;

    mParams.height=130;

    mParams.setMargins(50, 50, 0, 0);

    button3.setLayoutParams(mParams);

    button3.setPadding(20, 0, 0, 0);

     

  • 相关阅读:
    PHP断点续传(下载)代码
    PHP及相关服务器防盗链
    工作过程中注意事项(一)
    ubuntu下libtorrent库安装
    ubuntu ftp 服务器搭建
    ubuntu系统搭建php+apache+cumulusclips
    JavaScript HTML DOM 元素(节点)
    JavaScript 闭包
    安装安卓(Android)x86系统
    javascript 错误与调试
  • 原文地址:https://www.cnblogs.com/lipeineng/p/5757340.html
Copyright © 2011-2022 走看看