2016-05-26 16 views
36

自5月以來,Google已在其網站上更新了其材料設計指南。我在一個名爲Feature discovery的新章節中看到了一個有趣而酷炫的設計模式。Android的功能發現動畫

我想實現the animation for 'discovering' the Navigation Drawer button。 Google Fit的最新更新中有一個類似的動畫,用於導航抽屜和浮動操作按鈕。

爲常,爲Android動畫,谷歌提供了一個很好的和真棒UI準則,但我們沒有任何進一步的信息用於開發它自己的應用程序。

你知道,如果有與Android原生庫解決方案,以實現這些類型的動畫?如果是,它是否可用於Android 5.0(API 21)以下 - 它可以高於Android 4.1+?

編輯:我做了一個Github項目來實現相同的動畫。你可以在這裏找到它:https://github.com/Guimareshh/Feature-discovery-animations

謝謝!

+0

任何人..請把賞金在此.. tq .. – faruk

+0

你好,你已經做到了.. ?? –

+0

@Hardeep不完全像我們在Google設計網站上看到的動畫,但它幾乎是一樣的。我需要更多時間來完成它。它應該在本週完成,我將上傳一個Github項目並編輯這篇文章以獲取更多信息。 – Guimareshh

回答

7

你需要讓自定義動畫,否則你可以使用Ripple Effect + Reveal並將其設置爲抽屜式導航圖標,

Circular Reveal Animation

void enterReveal() { 
    // previously invisible view 
    final View myView = findViewById(R.id.my_view); 

    // get the center for the clipping circle 
    int cx = myView.getMeasuredWidth()/2; 
    int cy = myView.getMeasuredHeight()/2; 

    // get the final radius for the clipping circle 
    int finalRadius = Math.max(myView.getWidth(), myView.getHeight())/2; 

    // create the animator for this view (the start radius is zero) 
    Animator anim = 
     ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius); 

    // make the view visible and start the animation 
    myView.setVisibility(View.VISIBLE); 
    anim.start(); 
} 
+2

感謝您的幫助,這個動畫將幫助我創造我想要的東西。我要在Github上創建一個示例,我將在這篇文章中分享它! – Guimareshh

4

回答您的問題,Google總是提供有趣的Widget組件的新樣本。他們中的大多數只會被添加到Android的新版本中。這有不同的原因。例如,因爲新的小部件使用資源,並且只能在新版本的Android上工作,所以它具有更新的UI引擎。和其他...

這就是爲什麼,沒有谷歌官方顯示的動畫,這僅適用於Android 5.0>工作。

但也有很多反向移植的爲:

看看所有可用的,而不是正式的反向移植爲Android Awesome Android UI

當谷歌推出Android的材料 - 有沒有爲所有元素的任何庫。但在短時間內,由不同的開發者編寫了許多有用的庫文件。但是在這種流行之後,Google會爲這些小部件引入所有庫。


因此,沒有backports,並且Google很可能不會引入該小部件。但是,聽你的問題,我認爲你可以做到這一點,而不是使用官方的後援,上面鏈接。

4

我也創造了這個DesignPattern自定義視圖。你可以找到它here。請注意,這是我第一次發佈的自定義視圖,它仍在開發中(所以它們可能存在一些bug並且缺少一些文檔),但它應該足夠日常使用。

要使用它的庫添加到您的依賴關係:

compile 'com.cilenco.libraries:featurediscovery:1.0.2'  or 
compile 'com.cilenco.libraries:featurediscovery:+'   always newest version 

之後,你能夠創造這樣的DiscoveryView。檢出所有其他功能以調整視圖的外觀和控制。

DiscoveryView discoveryView = new DiscoveryView.Builder(context, view) 
.setPrimaryText(R.string.header) 
.setSecondaryText(R.string.description) 
.setOnClickListener(this) 
.build(); 

discoveryView.show(); 

爲了使這個觀點更加美好請隨時報告問題,並引入請求到倉庫,如果你發現任何錯誤或有什麼新的想法吧。