当前位置:K88软件开发文章中心编程语言APP编程Android01 → 文章内容

8.4.2 Android动画合集之补间动画

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-12 6:27:43

android:duration="2000" android:fromAlpha="1.0" android:toAlpha="0.1" /> </set> 3.写个例子来体验下好的,下面我们就用上面写的动画来写一个例子,让我们体会体会何为补间动画:首先来个简单的布局:activity_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_alpha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="透明度渐变" /> <Button android:id="@+id/btn_scale" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="缩放渐变" /> <Button android:id="@+id/btn_tran" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="位移渐变" /> <Button android:id="@+id/btn_rotate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="旋转渐变" /> <Button android:id="@+id/btn_set" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="组合渐变" /> <ImageView android:id="@+id/img_show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="48dp" android:src="@mipmap/img_face" /> </LinearLayout>好哒,接着到我们的MainActivity.java,同样非常简单,只需调用AnimationUtils.loadAnimation()加载动画,然后我们的View控件调用startAnimation开启动画即可~public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button btn_alpha; private Button btn_scale; private Button btn_tran; private Button btn_rotate; private Button btn_set; private ImageView img_show; private Animation animation = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bindViews(); } private void bindViews() { btn_alpha = (Button) findViewById(R.id.btn_alpha); btn_scale = (Button) findViewById(R.id.btn_scale); btn_tran = (Button) findViewById(R.id.btn_tran); btn_rotate = (Button) findViewById(R.id.btn_rotate); btn_set = (Button) findViewById(R.id.btn_set); img_show = (ImageView) findViewById(R.id.img_show); btn_alpha.setOnClickListener(this); btn_scale.setOnClickListener(this); btn_tran.setOnClickListener(this); btn_rotate.setOnClickListener(this); btn_set.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_alpha: animation = AnimationUtils.loadAnimation(this, R.anim.anim_alpha); img_show.startAnimation(animation); break; case R.id.btn_scale: animation = AnimationUtils.loadAnimation(this, R.anim.anim_scale); img_show.startAnimation(animation); break; case R.id.btn_tran: animation = AnimationUtils.loadAnimation(this, R.anim.anim_translate); img_show.startAnimation(animation); break; case R.id.btn_rotate: animation = AnimationUtils.loadAnimation(this, R.anim.anim_rotate); img_show.startAnimation(animation); break; case R.id.btn_set: animation = AnimationUtils.loadAnimation(this, R.anim.anim_set); img_show.startAnimation(animation); break; } }}运行效果图:嘿嘿,有点意思是吧,还不动手试试,改点东西,或者自由组合动画,做出酷炫的效果吧~4.动画状态的监听我们可以对动画的执行状态进行监听,调用动画对象的:setAnimationListener(new AnimationListener())方法,重写下面的三个方法:onAnimationStart():动画开始onAnimtaionRepeat():动画重复onAnimationEnd():动画结束即可完成动画执行状态的监听~5.为View动态设置动画效果先调用AnimationUtils.loadAnimation(动画xml文件),然后View控件调用startAnimation(anim)开始动画~这是静态加载的方式,当然你也可以直接创建一个动画对象,用Java代码完成设置,再调用startAnimation开启动画~6.为Fragment设置过渡动画这里要注意一点,就是Fragment是使用的v4包还是app包下的Fragment!我们可以调用FragmentTransaction对象的setTransition(int transit)为Fragment指定标准的过场动画,transit的可选值如下:TRANSIT_NONE:无动画TRANSIT_FRAGMENT_OPEN:打开形式的动画TRANSIT_FRAGMENT_CLOSE:关闭形式的动画上面的标准过程动画是两个都可以调用的,而不同的地方则在于自定义转场动画setCustomAnimations()方法!app包下的Fragment:setCustomAnimations(int enter, int exit, int popEnter, int popExit)分别是添加,移除,入栈,以及出栈时的动画!另外要注意一点的是,对应的动画类型是:属性动画(Prope

上一页  [1] [2] [3]  下一页


8.4.2 Android动画合集之补间动画