4.4.5 Android 属性动画Animator
2016-03-08 22:50
519 查看
0:首先在res下面创建一个animator的文件夹。然后再这里面创建一个文件animator.xml
其实这里的valueType 也可以不写,因为如果写了写错了就不会执行了,
1:布局:
2:
4: 如果要实现回收的效果
首先在animator 里面创建回收的xml 文件
然后在MainActivity 里面添加一个全局变量mOut来判断是否出去了还是回到了原地。
其实这里的valueType 也可以不写,因为如果写了写错了就不会执行了,
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:ordering="together"> <objectAnimator android:duration="5000" android:propertyName="rotation" android:valueType="floatType" android:valueFrom="0" android:valueTo="720" /> <objectAnimator android:duration="5000" android:propertyName="translationX" android:valueType="floatType" android:valueFrom="0" android:valueTo="300" ></objectAnimator> </set>
1:布局:
<?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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/composer_camera" android:id="@+id/composer_camera" android:onClick="animator"/> </RelativeLayout>
2:
package tech.androidstudio.animatordemo; import android.animation.Animator; import android.animation.AnimatorInflater; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void animator(View view) { ImageView imageView =(ImageView)findViewById(R.id.composer_camera); Animator animator_camera = AnimatorInflater.loadAnimator(this,R.animator.animator); animator_camera.setTarget(imageView); animator_camera.start(); Toast.makeText(this,"clicked",Toast.LENGTH_LONG).show(); } }
4: 如果要实现回收的效果
首先在animator 里面创建回收的xml 文件
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:ordering="together"> <objectAnimator android:duration="5000" android:propertyName="rotation" android:valueType="floatType" android:valueFrom="0" android:valueTo="720" /> <objectAnimator android:duration="5000" android:propertyName="translationX" android:valueType="floatType" android:valueFrom="300" android:valueTo="0" ></objectAnimator> </set>
然后在MainActivity 里面添加一个全局变量mOut来判断是否出去了还是回到了原地。
package tech.androidstudio.animatordemo; import android.animation.Animator; import android.animation.AnimatorInflater; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private static boolean mOut=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void animator(View view) { ImageView imageView =(ImageView)findViewById(R.id.composer_camera); Animator animator_camera =null; if(mOut==false) { animator_camera= AnimatorInflater.loadAnimator(this, R.animator.animator); mOut=true; }else{ animator_camera = AnimatorInflater.loadAnimator(this, R.animator.back); mOut=false; } animator_camera.setTarget(imageView); animator_camera.start(); Toast.makeText(this,"clicked",Toast.LENGTH_LONG).show(); } }
相关文章推荐
- Android 中使用Bundle传递大容量数据问题
- android项目的文件介绍
- Android性能调优利器StrictMode
- 值得推荐的android开源框架
- Android RotateAnimation详解
- 将android的adb命令工具作用于mac全局
- Android简单自定义Dialog样式
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- Android notification的使用实例
- Android设备adb授权的原理
- Android消息机制之Handler
- Android FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment解决方案
- Android错误
- Android消息机制之Handler
- Android jni 常见错误
- Android中的属性动画(Property Animation)——Android开发艺术探索笔记
- Android基础——TabHost使用(自定义按钮菜单)
- 以动态列表配置选项(ListActivity与Menu整合技巧)
- 4.4.4 Android animation List 实现充能塔的效果
- android使用AIDL实现跨进程通讯(IPC)