Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Facebook Android閃光效果開源庫shimmer的用法

Facebook Android閃光效果開源庫shimmer的用法

編輯:Android開發實例

       shimmer開源庫介紹

       Shimmer是Facebook提供的一項基於Java的library,它可以使Android中的所有View控件具有閃光的效果。該項目的GitHub項目托管地址是https://github.com/facebook/shimmer-android。

       shimmer開源庫基本使用

       下載Shimmer開源庫,並引用到工程中。我們需要使用ShimmerFrameLayout類,它繼承於Android的Layout,我們可以將自己的布局控件嵌套在該布局之內以實現閃光的效果。

XML/HTML代碼
  1. <com.facebook.shimmer.ShimmerFrameLayout  
  2.     android:id="@+id/shimmerContent"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent">  
  5.    
  6.     <TextView   
  7.         android:text="@string/hello_world"  
  8.         android:layout_width="wrap_content"  
  9.         android:textSize="40sp"  
  10.         android:textColor="#fff"  
  11.         android:layout_gravity="center"  
  12.         android:layout_height="wrap_content" />  
  13. </com.facebook.shimmer.ShimmerFrameLayout>  

        開始shimmer動畫

        調用ShimmerFrameLayout的startShimmerAnimation方法開始動畫。

Java代碼
  1. ShimmerFrameLayout shimmerFrameLayout = (ShimmerFrameLayout) findViewById(R.id.shimmerContent);  
  2. shimmerFrameLayout.startShimmerAnimation();  

        設置shimmer動畫的時間間隔

        調用ShimmerFrameLayout的setDuration傳入一個int值來對動畫的時間間隔設置,單位是毫秒。

        設置shimmer動畫重復類型

        調用ShimmerFrameLayout的setRepeatMode方法設置動畫的重復模式。

        REVERSE表示,閃光從左到右,之後在從右到左這樣往復;

        RESTART表示閃光每次總是從左到右。

Java代碼
  1. shimmerFrameLayout.setRepeatMode(ObjectAnimator.REVERSE);  

       設置shimmer閃光的傾斜角度

       調用setTilt方法設置光的傾斜角度,傳入參數是float類型,表示傾斜的角度,正值表示順時針傾斜,負值表示逆時針傾斜。

       調用setAngle方法設置方向,傳入參數只能被設置為以下四種之一,

       ShimmerFrameLayout.MaskAngle.CW_0 表示從左到右的方向

       ShimmerFrameLayout.MaskAngle.CW_90 表示從上到下的方向

       ShimmerFrameLayout.MaskAngle.CW_180 表示從右到左的方向ShimmerFrameLayout.MaskAngle.CW_270 表示從下到上的方向

       設置shimmer閃光的寬度

       調用setDropoff方法設置光的寬度,該值表示的是一個相對的寬度,即表示整個ShimmerFrameLayout寬度的比例。即若設置該值為0.5f則表示光的寬度是ShimmerFrameLayout的一半。

       設置shimmer閃光的透明度

       setBaseAlpha方法允許我們設置沒有光照的地方的透明度。

       setIntensity設置光的強度,根據測試來看,應該是被光照的邊緣部分的透明度。

       設置shimmer閃光的形狀

       setMaskShape方法可以允許我們設置光的形狀,目前可以設置為線性ShimmerFrameLayout.MaskShape.LINEAR(默認),圓形或者叫輻射狀ShimmerFrameLayout.MaskShape.RADIAL。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved