android通过xml文件实现Animation动画

Rotate的xml文件编写方法

    <rotate
        android:fromDegrees="0"
        android:toDegrees="+350"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="1000"/>

*android:toDegrees="+350"正号代表的是旋转方向,正号为顺时针,负号为逆时针

*android:pivotX的值共有三种设置方法

1.android:pivotX="50"这种方法使用绝对位置定位(屏幕位置坐标上50这个点)

2.android:pivotX="50%"这种方法使用相对于控件本身定位

3.android:pivotX="50%p"这种方法相对于控件的父控件定位

其他几种动画的写法与此类似

MainActivity.java

public class MainActivity extends Activity {

    private ImageView imageView;
    private Button button_1;
    private Button button_2;
    private Button button_3;
    private Button button_4;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        imageView = (ImageView)findViewById(R.id.imageView);
        button_1 = (Button)findViewById(R.id.button_1);
        button_2 = (Button)findViewById(R.id.button_2);
        button_3 = (Button)findViewById(R.id.button_3);
        button_4 = (Button)findViewById(R.id.button_4);

        AlphaButtonListener alphaButtonListener = new AlphaButtonListener();
        RotateButtonListener rotateButtonListener = new RotateButtonListener();
        ScaleButtonListener scaleButtonListener = new ScaleButtonListener();
        TranslateButtonListener translateButtonListener = new TranslateButtonListener();

        button_1.setOnClickListener(alphaButtonListener);
        button_2.setOnClickListener(rotateButtonListener);
        button_3.setOnClickListener(scaleButtonListener);
        button_4.setOnClickListener(translateButtonListener);
    }
    //淡入淡出
    private class AlphaButtonListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            //使用AnimationUtils装载动画文件
            Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
            imageView.startAnimation(animation);
        }
    }
    //旋转
    private class RotateButtonListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
            imageView.startAnimation(animation);
        }
    }
    //水平
    private class TranslateButtonListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
            imageView.startAnimation(animation);
        }
    }
    //缩放
    private class ScaleButtonListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
            imageView.startAnimation(animation);
        }
    }

}

在res目录下新建anim文件夹

alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">

    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.0"
        android:startOffset="500"
        android:duration="500"/>

</set>

rotate.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">

    <rotate
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="3000"/>

</set>

scale.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:fromXScale="1.0"
        android:toXScale="0.0"
        android:fromYScale="1.0"
        android:toYScale="0.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="1000"/>

</set>

translate.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">

    <translate
        android:fromXDelta="50%"
        android:toXDelta="100%"
        android:fromYDelta="50%"
        android:toYDelta="100%"
        android:duration="1000"/>

</set>
时间: 2024-12-22 19:18:22

android通过xml文件实现Animation动画的相关文章

Android修改XML文件

最近在项目中需要使用XML记录数据,网上这方面的文章较少,记录一下 使用DOM方式 [java] view plaincopy /** * 追加内容到XML文档 * @param instructions * @throws ParserConfigurationException * @throws SAXException * @throws IOException * @throws TransformerException */ public void append2XML(String

怎么在android的XML文件中添加注释

android的XML文件注释一般采用 <!--注释内容 -->的方式进行 在XML中,形如    <Button           />      的表示方式,其中"/>"的含义表示这个XML中没有内文,他是一个最小组成单元,也就是说他的中间不能包含其他任何< >的代码,所以在<Button />中间注释会出现错误 注意看到,在注释的前面有一个">"符号,这就是我们能够在他中间进行注释的原因,他的完整结

Swing结合dom以及拖拽的Android Layout xml文件处理器

无聊之作,只是从布局文件中提取出定义了android:id属性的控件名称,方便在编写class文件的时候能够跟layout文件保持一致. 原理很简单,直接上代码: 1.swing主界面代码 1 package com.zhyy.layoutparser; 2 3 import javax.swing.*; 4 import java.awt.*; 5 import java.awt.datatransfer.Clipboard; 6 import java.awt.datatransfer.St

Android Button Maker(在线生成android shape xml文件的工具),真方便!

直接上地址:http://angrytools.com/android/button/ 使用起来超简单,如图: Android Button Maker is online tool to generate buttons code for Android Apps. Android API provide Drawable Resources where XML file defines geometric shape, including colors, border and gradien

通过xml文件来设置动画

alpha.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1.0" android:toAlpha="0" android:startOffset="

Android - 资源xml文件适配不同的版本

资源xml文件适配不同的版本 本文地址:http://blog.csdn.net/caroline_wendy Adapt layout to Android platform or API level:把布局文件适配不同的API级别,避免警告: 通过为不同的API等级,建立不同的文件夹(layout-v4),进行适配,可以去掉Warning. 具体: If what you're trying to do is show a different layout depending on whic

android中XMl文件的读取

废话不多说了直接上代码: 新建一个Xml文件用于读取: test.xml <Languages cat="1"> <lan id="1"> <name>java</name> <ide>Eclipse</ide> </lan> <lan id="2"> <name>Swift</name> <ide>Xcode<

【Android】利用表格布局,Android中xml文件与java的交互制作登录界面

登录界面是图形编程.网页编程的一个经典而又基础的程序. 在安卓中,如图所示一个基本登录界面: 点击取消按钮就关闭这个程序,点击登录按钮则显示用户输入的用户名与密码. 一.基本布局 这个程序利用到安卓中的表格布局. 先打开res/values/strings.xml中定义几个字符串.之所以不直接把字符串直接写在activity_main.xml的组件中,是因为免得Eclipse出现警告.这个文件的代码如下: <?xml version="1.0" encoding="ut

Android attrs.xml文件中属性类型format值的格式

"reference" //引用 "color" //颜色 "boolean" //布尔值 "dimension" //尺寸值 "float" //浮点值 "integer" //整型值 "string" //字符串 "fraction" //百分数,比如200% 枚举型的格式: < attr name="orientation&q