Intereting Posts

Каким будет метод создания счетчика чисел в Android?

Я хочу создать счетчик прокрутки, который растет с той скоростью, которую я даю ему для Android-приложения. Я чувствую, что в SDK нет такого виджета Android, и я хотел бы представить, как это должно быть выполнено или даже лучше Проект с открытым исходным кодом вокруг этой идеи.

Пример изображения: Счетчик прокрутки

Это не может быть идеальным ответом, но, по крайней мере, отправной точкой. Дисконтируя анимацию и общую привязанность, вы можете получить большую часть этого пути, просто украсив TextView некоторыми фантазийными XML. Я расскажу, что я сделал несколько лет назад, чтобы создать аналогичную область экрана для калькулятора подсказок:

Вот 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" /> 

И «drawable / gradient», который я создал как отдельный файл с возможностью рисования:

 <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):

Счетчик числа

В дополнение к ответу raggedToad: вы можете использовать класс ViewAnimator для добавления анимаций в свой счетчик. Его простой в использовании. Вы можете расширить его, добавить все текстовые поля в onCreate() . Внедрите increment метода, которое обрабатывает операцию приращения. Просто вызовите showNext чтобы перейти к следующему виду.

Я уверен, что этот конкретный счетчик на вашем скриншоте имеет несколько коротких анимаций (около 5 или 10 кадров) для каждого перехода от одного номера к другому. Может быть, есть еще и некоторые из них, показывающие быстрые переходы, фактически не останавливаясь на определенном числе с более размытым.

Поэтому основной задачей было бы создание графики. Тогда это просто вопрос отображения правильного кадра в нужное время.

Есть проект с открытым исходным кодом, который делает то, что вы пытаетесь сделать. Проверьте: http://code.google.com/p/android-wheel/