精华内容
参与话题
问答
  • 在anim中新建需要的动画xml资源文件(这里我把四个都写出来) anim/alpha.xml(渐变动画) ? 1 2 3 4 5 6 7 xml version="1.0" encoding="UTF-8"?> set ...

    首先在res中新建一个anim的文件夹

    在anim中新建需要的动画xml资源文件(这里我把四个都写出来)

    anim/alpha.xml(渐变动画)

    ?
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <alpha
            android:duration="2000"
            android:fromAlpha="0.1"
            android:toAlpha="1.0" />
    </set><span></span>

    duration:动画的持续时间(单位是毫秒)

    fromAlpha:开始的透明度

    toAlpha:结束的透明度

    透明度0.0是完全透明,1.0是不透明

    anim/scale(伸缩动画)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="UTF-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <scale
            android:duration="2000"
            android:fromXScale="0.0"
            android:fromYScale="0.0"
            android:interpolator="@android:anim/accelerate_decelerate_interpolator"
            android:pivotX="00%"
            android:pivotY="00%"
            android:toXScale="1.4"
            android:toYScale="1.4" />
    </set>

    interpolator:动画插入器。

    accelerate_decelerate_interpolator:加速-减速

    accelerate_interpolator:加速

    decelerate_interpolator:减速

    fromXScale,fromYScale:开始X和Y的大小(0为缩小到没有)

    toXScale,toYScale:结束X和Y的大小(1为没有变化)

    pivotX,privotY:左上角的坐标(可以用百分比也可以用数字)

    anim/translate(移动动画)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <translate
            android:duration="2000"
            android:fromXDelta="30"
            android:fromYDelta="30"
            android:toXDelta="-80"
            android:toYDelta="300" />
    </set>
    fromXDelta,fromYDelta:开始时候左上角的坐标

    toXDelta,toYDelta:结束时候左上角的坐标

    anim/rotate(旋转动画的)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <span style="font-size:9pt;line-height:1.5;"><?xml version="1.0" encoding="utf-8"?></span> <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <rotate
            android:duration="3000"
            android:fromDegrees="0"
            android:interpolator="@android:anim/accelerate_decelerate_interpolator"
            android:pivotX="50%"
            android:pivotY="50%"
            android:toDegrees="+360" />
    </set> <span></span><span></span>

    interpolator:动画插入器。

    accelerate_decelerate_interpolator:加速-减速

    accelerate_interpolator:加速

    decelerate_interpolator:减速

    fromDegrees:开始的角度

    toDegrees:结束的角度

    pivotX,privotY:旋转中心的坐标(可以用百分比也可以用数字)


    到此xml资源文件就完成了,接下来就是如何调用这些资源文件。

    alpha.xml为例子,先建立AlphaActivity

    activity_alpha.xml

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/start_bg"
        tools:context=".AlphaActivity" >
     
    </RelativeLayout>
    background是我自己的一张图片,可以使用其他的

    AlphaActivity.java

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    package com.example.animationdemo;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.View;
    import android.view.animation.Animation;
    import android.view.animation.Animation.AnimationListener;
    import android.view.animation.AnimationUtils;
    import android.widget.Toast;
     
    public class AlphaActivity extends Activity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            View view=View.inflate(this, R.layout.activity_alpha, null);
            setContentView(view);
            Animation animation=AnimationUtils.loadAnimation(this, R.anim.alpha);
             
            view.startAnimation(animation);
            animation.setAnimationListener(new AnimationListener() {
                @Override
                public void onAnimationStart(Animation arg0) {}
                 
                @Override
                public void onAnimationRepeat(Animation arg0) {}
                 
                @Override
                public void onAnimationEnd(Animation arg0) {
                    Toast.makeText(AlphaActivity.this, "动画完成", Toast.LENGTH_SHORT).show();
                }
            });
        }
     
    }
    这段代码对于入门的同学来说应该不是问题了,要注意的是这里
    ?
    1
    2
    View view=View.inflate(this, R.layout.activity_alpha, null);
    setContentView(view);

    否则动画是无法start的。之后我设置了动画监听器,可以加上自己喜欢的事件。



    这里重点提一下android:pivotX和android:pivotY和android:fromXDelta,android:toXDelta

    android:pivotX="50"使用绝对坐标

    android:pivotX="50%"相对自己

    android:pivotX="50%p"相对父控件


    展开全文
  • Android应用程序,使用动画效果,能带给用户更好的感觉。做动画可以通过XML或Android代码。本教程中,介绍使用XML来做动画。在这里,介绍基本的动画,如淡入,淡出,旋转等,需要的朋友可以参考下
  • Android使用XML动画UI

    2016-09-07 17:28:33
    参考:...本教程中,介绍使用XML来做动画。在这里,介绍基本的动画,如淡入,淡出,旋转等。第一步: 创建anim文件夹放置动画xml文件 在res文件夹下,创建一个anim的子文件夹。第二

    参考:http://blog.csdn.net/dyllove98/article/details/9304185

    在Android应用程序,使用动画效果,能带给用户更好的感觉。做动画可以通过XML或Android代码。
    本教程中,介绍使用XML来做动画。在这里,介绍基本的动画,如淡入,淡出,旋转等。

    第一步: 创建anim文件夹放置动画xml文件
    在res文件夹下,创建一个anim的子文件夹。

    第二步: 加载动画
    接着在Activity创建一个Animation类,然后使用AnimationUtils类加载动画xml

    展开全文
  • Android配置xml动画

    2013-03-09 17:10:32
    <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> android:fromAlpha="1.0" android:t
    <?xml version="1.0" encoding="utf-8"?>
     <set xmlns:android="http://schemas.android.com/apk/res/android"
         android:interpolator="@android:anim/accelerate_interpolator">
         <!-- 淡入淡出,从完全不透明变化到完全透明,持续时间为5秒 -->
         <alpha
             android:fromAlpha="1.0"
             android:toAlpha="0.0"
             android:startOffset="500"
             android:duration="5000"
         />
     </set>

       

    来自Android 淡入淡出动画xml配置 - html代码库 - 云代码 http://yuncode.net/code/c_50c2893ce38d198

    展开全文
  • androidxml动画入门

    2016-07-29 21:06:31
    简单用xml实现几种动画效果。建议阅读参考文章。
    
    
    

    简单用xml实现几种动画效果。建议阅读参考文章。

    原文

    android的xml动画入门

    参考文章

    【Android 基础】Animation 动画介绍和实现

    xml几种动画介绍

    No. Name Detail
    1 alpha 透明度
    2 scale 缩放
    3 translate 位移
    4 rotate 旋转

    效果图

    img

    代码如下

    MainActivity.java

    package com.qefee.pj.testanim;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
    
        ImageView imageView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            imageView = (ImageView) findViewById(R.id.imageView);
    
            Button alphaButton = (Button) findViewById(R.id.alphaButton);
            Button scaleButton = (Button) findViewById(R.id.scaleButton);
            Button transButton = (Button) findViewById(R.id.transButton);
            Button rotateButton = (Button) findViewById(R.id.rotateButton);
    
            doAnim(alphaButton, R.anim.anim_alpha, R.anim.anim_alpha_inverse); // 透明度
            doAnim(scaleButton, R.anim.anim_scale, R.anim.anim_scale_inverse); // 缩放
            doAnim(transButton, R.anim.anim_trans, R.anim.anim_trans_inverse); // 位移
            doAnim(rotateButton, R.anim.anim_rotate, R.anim.anim_rotate_inverse); // 旋转
        }
    
        private void doAnim(Button scaleButton, final int anim, final int animInverse) {
            scaleButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Animation animation = AnimationUtils.loadAnimation(MainActivity.this, anim);
    
                    // 设置动画监听
                    animation.setAnimationListener(new Animation.AnimationListener() {
                        @Override
                        public void onAnimationStart(Animation animation) {
                            Toast.makeText(MainActivity.this, "动画开始了", Toast.LENGTH_SHORT).show();
                        }
    
                        @Override
                        public void onAnimationEnd(Animation animation) {
                            Toast.makeText(MainActivity.this, "动画结束了", Toast.LENGTH_SHORT).show();
    
                            // 动画结束后执行恢复动画
                            Animation animation1 = AnimationUtils.loadAnimation(MainActivity.this, animInverse);
                            imageView.startAnimation(animation1);
                        }
    
                        @Override
                        public void onAnimationRepeat(Animation animation) {
                            Toast.makeText(MainActivity.this, "动画重播了", Toast.LENGTH_SHORT).show();
                        }
                    });
                    imageView.startAnimation(animation);
                }
            });
        }
    }
    

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.qefee.pj.testanim.MainActivity">
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/buttonsLayout"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true">
            <ImageView
                android:id="@+id/imageView"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_centerInParent="true"
                android:src="@mipmap/ic_launcher"/>
        </RelativeLayout>
    
        <LinearLayout
            android:id="@+id/buttonsLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:orientation="horizontal"
            android:weightSum="4">
    
            <Button
                android:id="@+id/alphaButton"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="alpha" />
    
            <Button
                android:id="@+id/scaleButton"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="scale" />
    
            <Button
                android:id="@+id/transButton"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="trans" />
    
            <Button
                android:id="@+id/rotateButton"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="rotate" />
        </LinearLayout>
    </RelativeLayout>
    

    anim_alpha.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <alpha
            android:fromAlpha="1.0"
            android:toAlpha="0.1"/>
    </set>

    anim_alpha_inverse.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <alpha
            android:fromAlpha="0.1"
            android:toAlpha="1.0" />
    </set>

    anim_rotate.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <rotate
            android:fromDegrees="0"
            android:toDegrees="180"
            android:pivotX="50%"
            android:pivotY="50%"/>
    
        <!--
        pivotX: x支点
        pivotY: y支点
        -->
    </set>

    anim_rotate_inverse.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <rotate
            android:fromDegrees="180"
            android:toDegrees="360"
            android:pivotX="50%"
            android:pivotY="50%"/>
    
        <!--
        pivotX: x支点
        pivotY: y支点
        -->
    </set>

    anim_scale.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <scale
            android:fromXScale="1.0"
            android:fromYScale="1.0"
            android:toXScale="2.0"
            android:toYScale="2.0"
            android:pivotX="50%"
            android:pivotY="50%" />
    
        <!--
        pivotX: x支点
        pivotY: y支点
        -->
    </set>

    anim_scale_inverse.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <scale
            android:fromXScale="2.0"
            android:fromYScale="2.0"
            android:toXScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%" />
    
        <!--
        pivotX: x支点
        pivotY: y支点
        -->
    </set>

    anim_trans.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <translate
            android:fromXDelta="0"
            android:fromYDelta="0"
            android:toXDelta="100"
            android:toYDelta="100" />
    </set>

    anim_trans_inverse.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:duration="1500"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:shareInterpolator="true">
    
        <!--
        fillAfter: 如果为true,动画结束后保留动画结果。否则恢复。
        duration: 动画时间。
        interpolator: 动画效果。
        shareInterpolator: 是否与子元素共享动画效果。
        -->
    
        <translate
            android:fromXDelta="100"
            android:fromYDelta="100"
            android:toXDelta="0"
            android:toYDelta="0" />
    </set>
    展开全文
  • Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.zqrl_out); animation.setFillAfter(true); gvZqrl.startAnimation(animation);...zqrl_out.xml &lt;?...
  • Android应用程序,使用动画效果,能带给用户更好的感觉,做动画可以通过XMLandroid代码来实现。Animation动画效果的实现可以通过两种方式进行实现,一种是tweened animation (渐变动画),另一种是frame by ...
  • public class MainActivity extends AppCompatActivity { private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...
  • 本教程中,介绍使用XML来做动画。在这里,介绍基本的动画,如淡入,淡出,旋转等。 效果: http://www.56.com/u82/v_OTM4MDk5MTk.html 第一步: 创建anim文件夹放置动画xml文件 在res文件夹下,创建一个anim的...
  • androidXML连续动画

    万次阅读 2017-05-17 11:29:55
    首先把连续的图片放在drawable文件夹下,我准备的连续图片为nv1~nv4 并新建一个控制图片播放顺序...每个相当于就是一个图片 android:drawable="里面放图片资源" android:duration="每张图片播放的时间(毫秒为单位)
  • 只说明单个动画如何写,多个动画重叠请使用set 1.渐变动画 <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="200" android:fromAlpha="1.0" android:toAlpha="0.0" ...
  • android xml混合动画

    2014-07-14 15:37:00
    为什么80%的码农都做不了架构师?>>> ...
  • Animation也可以放在XML文件中,这样程序的可维护性提高...在XML中写动画的步骤如下 1.在res文件夹下面新建一个名为anim的文件夹 2.创建xml文件,并首先加入set标签,改标签如下  android:interpo
  • android动画XML实现

    千次阅读 2012-03-29 16:51:34
    第一步 :布局文件 http://schemas.android.com/apk/res/android" ... android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  >  android:layo
  • 通过XMl设置动画: /*  * Copyright (C) 2010 The Android Open Source Project  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in ...
  • android构建基本XMl动画

    2014-12-30 14:39:56
    在res下新建一个文件夹,命名为anim,创建xml文件,例如创建了一个a1.xml  //在这里写动画 ...rotate:旋转动画效果 ...下面使用xml创建动画-部分动画,详情见源码: alpha:渐变透明度效果-从有到无 a1.xml
  • Android中的XML动画

    2019-10-08 11:33:08
    在App中加入一些动画效果会让界面更加丰富多彩,动画可以通过XML定义来实现,当然也可以通过代码来实现, 动画效果一般使用在界面切换之间的效果,或者加载一些界面的效果,比如淡入淡出之类的。 通过XML创建一个...

空空如也

1 2 3 4 5 ... 20
收藏数 5,778
精华内容 2,311
关键字:

android 使用xml动画