我想創建一個滾動計數器,以我給它的Android應用程序的速度增長,我覺得沒有Android小部件可以在SDK中很好地執行此操作,並且我想知道應該如何完成此操作,或者甚至圍繞這個想法更好的開源項目。什麼是在Android中創建數字計數器的方法?
圖片例如:
我想創建一個滾動計數器,以我給它的Android應用程序的速度增長,我覺得沒有Android小部件可以在SDK中很好地執行此操作,並且我想知道應該如何完成此操作,或者甚至圍繞這個想法更好的開源項目。什麼是在Android中創建數字計數器的方法?
圖片例如:
我敢肯定,在你的屏幕截圖這個特殊的計數器有從一個號碼到下每次轉換一些動畫短片(約5或10幀)。也許還有一些更多的是爲了展示快速轉變,而不是在更多模糊的情況下實際停留在特定數量。
所以主要任務是創建圖形。那麼這只是在正確的時間顯示正確的框架。
這是一個很好的開始,但我在使用圖形或動畫時並不熟悉。 –
這可能不是一個完美的答案,但至少是一個起點。通過對動畫和一般幻想進行折扣,只需通過用一些奇特的XML裝飾TextView即可獲得大部分的方式。我將分享我幾年前做的一個小費計算器的類似屏幕區域:
這裏是XML。每個單獨的數字都是一個TextView,因此您可以單獨更改它們。我在這裏展示了兩個,但顯然下面的屏幕截圖有5個。
<TextView
android:id="@+id/tv1"
android:layout_width="60dip"
android:layout_height="140dip"
android:background="@drawable/gradient"
android:textSize="64sp"
android:gravity="center"
android:typeface="serif"
android:textColor="#FFFFFF"
/>
<TextView
android:id="@+id/tv2"
android:layout_width="60dip"
android:layout_height="140dip"
android:background="@drawable/gradient"
android:textSize="64sp"
android:gravity="center"
android:typeface="serif"
android:textColor="#FFFFFF"
/>
與 「可拉伸/梯度」 我創建作爲一個單獨的可拉伸的文件:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dip"
android:color="#fbbb"
/>
<solid android:color="#600000"/>
<layout_margin android:layout_margin="1dip"/>
<gradient
android:startColor="#000000"
android:centerColor="#6D6D6D"
android:endColor="#000000"
android:angle="270"
/>
這裏的最終結果(一個的LinearLayout內側):
這太神奇了。除了查看是否可以爲文本視圖製作動畫更改之外,它可能對我的需求非常適合。 –
很高興聽到它。在我的實現中,用戶可以按下每個TextView的頂部或底部來向上或向下改變數字,所以我不需要動畫。如果你確實需要它們,我不確定TextView是否仍然是最佳選擇。 –
我正在用一個用戶會影響的速度增加一個計數器的動畫,但這是一個非常好的開始。動畫是需要的,因爲它看起來非常乾淨,只是刷新了數字。 –
除了raggedToad的回答:您可以使用ViewAnimator
類將動畫添加到您的計數器。它易於使用。您可以擴展它,在onCreate()
中添加所有數字文字瀏覽。實現處理增量操作的方法increment
。只需撥打showNext
即可轉到下一個視圖。
感謝您的補充。現在我可以去我的舊學校櫃檯試試看! :) –
因此,我可以在圖像中製作一個數字條,僅在屏幕上顯示圖像的一部分,併爲顯示移動的部分設置動畫,然後在圖像到達結尾時重複該圖像? –
有一個開源項目可以完成你正在做的事情。 檢查:http://code.google.com/p/android-wheel/
這看起來不錯,我不會用它作爲選擇器,但我應該考慮讓這個腳成爲我的需要 –
+1我也對這種小部件感興趣。 – pkk
所以你會希望它有流體動畫,模糊,並顯示半數,就像在你的圖片的例子? –
這將是最好的情況,雖然我正在學習這些東西,所以我會接受任何更基本的東西 –