Android 微光闪烁效果之更强Shimmer-android

 

Android 微光闪烁效果之更强Shimmer-android

实现Android Shimmer效果的解决方案不少,在前一篇中介绍了facebook自家的Android Shimmer效果实现(《Android Shimmer微光闪烁shimmer-android》文章链接地址:http://blog.csdn.net/zhangphil/article/details/49722913 ),本文介绍另外一种我个人觉得比facebook更好的一种实现效果:Shimmer-android(我个人建议使用这个开源库实现Android Shimmer效果,可定制效果更强)
Shimmer-android在github上的项目主页是:https://github.com/RomainPiel/Shimmer-android
Shimmer-android干脆在Android TextView,Button的基础上重新写了ShimmerTextView和ShimmerButton。如果只是需要将一段文字实现Shimmer效果,直接使用ShimmerTextView即可。
Shimmer-android使用和前一篇facebook的使用类似,先写一个布局:

 

[html] view plain copy
 
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:layout_width="match_parent"  
  3.     android:layout_height="match_parent"  
  4.     android:background="#9e9e9e" >  
  5.   
  6.     <com.romainpiel.shimmer.ShimmerTextView  
  7.         android:id="@+id/shimmer_tv"  
  8.         android:layout_width="match_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_centerInParent="true"  
  11.         android:gravity="center"  
  12.         android:text="Zhang Phil @ CSDN"  
  13.         android:textColor="#757575"  
  14.         android:textSize="20sp" />  
  15.   
  16. </RelativeLayout>  

 

然后在Java代码中启动动画执行:

 

[java] view plain copy
 
  1. import android.app.Activity;  
  2. import android.os.Bundle;  
  3.   
  4. import com.romainpiel.shimmer.Shimmer;  
  5. import com.romainpiel.shimmer.ShimmerTextView;  
  6.   
  7. public class MainActivity extends Activity {  
  8.       
  9.     @Override  
  10.     protected void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.activity_main);  
  13.   
  14.         ShimmerTextView tv = (ShimmerTextView) findViewById(R.id.shimmer_tv);  
  15.         Shimmer shimmer = new Shimmer();  
  16.         shimmer.setDuration(2500);  
  17.         shimmer.start(tv);  
  18.     }  
  19. }  

start执行,cancel停止。


运行结果如图(其实是连续的动画效果,我只截了一张):

posted @ 2018-03-12 16:53  Faxcom  阅读(511)  评论(0编辑  收藏  举报