當我試圖實現進度條時。我遇到了git hub應用程序 ,它實現了神話般的進度條微調器。我只是好奇他們是如何做到的。 他們如何在應用程序中調用微調器這樣的方式活動UI加載的其他部分,但是 活動的一部分,即從服務器中一個可能提取的部分顯示微調器。 由於Git hubis開源軟件,我能夠瀏覽代碼。但是我不可能說得太多。Git Hub應用程序的進度條如何實現
GiHub App Source Code 任何知道他們如何實施進度條的人。
當我試圖實現進度條時。我遇到了git hub應用程序 ,它實現了神話般的進度條微調器。我只是好奇他們是如何做到的。 他們如何在應用程序中調用微調器這樣的方式活動UI加載的其他部分,但是 活動的一部分,即從服務器中一個可能提取的部分顯示微調器。 由於Git hubis開源軟件,我能夠瀏覽代碼。但是我不可能說得太多。Git Hub應用程序的進度條如何實現
GiHub App Source Code 任何知道他們如何實施進度條的人。
它是一個定製樣式的常規ProgressBar
。例如。
https://github.com/github/android/blob/master/app/res/layout/progress_dialog.xml
<ProgressBar
android:id="@+id/pb_loading"
style="@style/Spinner"
android:layout_width="48dp"
android:layout_height="48dp" />
定義它應該使用其被定義爲
https://github.com/github/android/blob/master/app/res/values/styles.xml
<style name="Spinner">
<item name="android:indeterminate">true</item>
<item name="android:indeterminateDrawable">@drawable/spinner</item>
<item name="android:indeterminateDuration">2000</item>
<item name="android:indeterminateOnly">true</item>
</style>
即風格定義要使用一個自定義的可繪製的,其被定義爲所述Spinner
風格兩部分LayerList。
https://github.com/github/android/blob/master/app/res/drawable/spinner.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/spinner_inner"/>
<item>
<rotate
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
<bitmap
android:antialias="true"
android:filter="true"
android:src="@drawable/spinner_outer" />
</rotate>
</item>
</layer-list>
的inner image是貓標誌,它被設置爲旋轉360°爲虛線圓的outer images。
非常感謝zapl :)!我也找到了這個信息,以及他們如何在應用中調用微調器,這樣活動用戶界面加載的其他部分,但活動的一部分,即從服務器提取的一個概要顯示微調器。 –
我現在編輯了我的問題:) –