Android 模仿电视机关闭界面

Tween动画

1.在关闭电视机的时候,电视机中间都有一根白条瞬间关闭。

  要实现这个效果其实就是利用Tween动画进行实现的。

动画的xml 文件是:

    android:startOffset=""  利用这个属性可以实现动画执行的先后顺序

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:shareInterpolator="false"    
 4     android:zAdjustment="top" >
 5 
 6     <scale
 7         android:duration="5000"
 8         android:fromXScale="1.0"
 9         android:fromYScale="1.0"
10         android:interpolator="@android:anim/accelerate_interpolator"
11         android:pivotX="50%"
12         android:pivotY="50%"
13         android:toXScale="1.0"
14         android:toYScale="0.003" />
15     <scale
16         android:duration="3000"
17         android:fromXScale="1.0"
18         android:fromYScale="1.0"
19         android:interpolator="@android:anim/accelerate_interpolator"
20         android:pivotX="50%"
21         android:pivotY="50%"
22         android:startOffset="5000"
23         android:toXScale="0.0"
24         android:toYScale="0.3" />
25 
26     <alpha
27         android:duration="3000"
28         android:fillAfter="true"
29         android:fillEnabled="true"
30         android:fromAlpha="1.0"
31         android:interpolator="@android:anim/accelerate_interpolator"
32         android:startOffset="5000"
33         android:toAlpha="0" />
34     
35     <rotate 
36         android:fromDegrees="0.0"
37         android:toDegrees="360.0"
38         android:pivotX="50%"
39         android:pivotY="50%"
40         android:fillAfter="true"
41         android:interpolator="@android:anim/linear_interpolator"
42         android:duration="5000"
43         />
44     
45 </set>

 

主界面的Activity

 1 public class MainActivity extends Activity {
 2     
 3     private ImageView back , line;
 4     
 5     private Animation mAnimation;
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_main);
10         initView();
11     }
12 
13     private void initView() {
14         back = (ImageView)findViewById(R.id.img_back);
15         line = (ImageView)findViewById(R.id.img_line);
16         mAnimation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.tv_off);
17         mAnimation.setAnimationListener(new AnimationListener() {
18             
19             @Override
20             public void onAnimationStart(Animation animation) {
21                 
22             }
23             
24             @Override
25             public void onAnimationRepeat(Animation animation) {
26                 
27             }
28             
29             @Override
30             public void onAnimationEnd(Animation animation) {
31                 
32             }
33         });
34         
35         line.setVisibility(View.VISIBLE);
36         line.setAnimation(mAnimation);
37 //        mAnimation.start();
38         
39     }
40 
41 
42 }
activity_main.xml:
 1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context=".MainActivity" >
 6 
 7     <ImageView
 8         android:id="@+id/img_back"
 9         android:layout_width="match_parent"
10         android:layout_height="match_parent"
11         android:background="@color/black" />
12 
13     <ImageView
14         android:id="@+id/img_line"
15         android:layout_width="match_parent"
16         android:layout_height="match_parent"
17         android:background="@color/white" 
18         android:visibility="gone"
19         />
20 
21 </FrameLayout>

源码下载

 

 

posted @ 2014-09-01 22:39  perfect亮  阅读(350)  评论(0编辑  收藏  举报