Если вы используете относительную компоновку:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/stringname"
android:layout_centerInParent="true"/>
Если вы используете LinearLayout
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/stringname"
android:layout_gravity="center"/>
Я всегда делаю ...
myTimer.Stop();
myTimer.Start();
... это хак? :)
Согласно комментарию в Threading.Timer, это метод изменения ...
dueTime Тип:
System.Int32
количество времени, чтобы отложить до вызов указанного метода обратного вызова когда был построен Таймер, в миллисекунды. УточнитьTimeout.Infinite
для предотвращения таймер от перезапуска. Укажите ноль (0) для немедленного перезапуска таймера.
Вы можете написать метод расширения под названием Reset (), который
Все таймеры имеют эквивалент методов Start () и Stop (), за исключением System.Threading.Timer.
Таким образом, метод расширения, такой как ...
public static void Reset(this Timer timer)
{
timer.Stop();
timer.Start();
}
... один из способов решить эту проблему.
Другим альтернативным способом сброса windows.timer является использование счетчика, следующим образом:
int tmrCtr = 0;
Timer mTimer;
private void ResetTimer()
{
tmrCtr = 0;
}
private void mTimer_Tick()
{
tmrCtr++;
//perform task
}
Так, если вы намерены повторять каждые 1 секунду, вы можете установить интервал таймера в 100 мс, а счетчик проверить на 10 циклов.
Это подходит, если таймер должен ждать некоторых процессов, которые могут завершиться в разный промежуток времени.
Для таймера (System.Windows.Forms.Timer).
Методы .Stop, затем .Start работали как сброс.