第二十八讲:Android之Animation(三)
我们不得不饮食、睡眠、游玩、恋爱,也就是说,我们不得不接触生活中最甜蜜的事情,不过我们必须不屈服于这些事物。—— 居里夫人
本讲内容:补间动画 Tween Animation
前面我们只学习了实现单个动画效果,本讲将同时实现多个动画效果:
我们通过一个例子感受一下,代码的讲解都写在注释里了
下面是res/layout/activity_main.xml
布局文件:
<LinearLayout 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:orientation="vertical" tools:context="com.example.text.MainActivity$PlaceholderFragment" > <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_gravity="center" android:src="@drawable/c4" /> <Button android:id="@+id/b" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="测试动画效果" /> </LinearLayout>
下面是新建的res/anim/alpha_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" android:shareInterpolator="true"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:startOffset="500" android:duration="2000" /> <rotate android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="2000" /> </set>
android:shareInterpolator="true" 表示里面的一系列动画都应用 <span style="font-family: Arial;">interpolator</span>
public class MainActivity extends Activity { private Button b; private ImageView image; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b = (Button) findViewById(R.id.b); image = (ImageView) findViewById(R.id.image); AnimationButtonListener listener=new AnimationButtonListener(); b.setOnClickListener(listener); } private class AnimationButtonListener implements OnClickListener { @Override public void onClick(View v) { Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha_rotate); image.startAnimation(animation); } } }
下面是运行结果:可以看出一边旋转一边渐变透明度
本讲到这里,谢谢大家!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。