Вот как я это сделал, он грязный, но он выполняет свою работу, пока они не проснутся и не сделают его настраиваемым!
Не могли бы вы поверить, что есть " // TODO Add опция для настройки этого " в приватном статическом внутреннем классе Marquee!
protected void setMarqueeSpeed(TextView tv, float speed, boolean speedIsMultiplier) {
try {
Field f = tv.getClass().getDeclaredField("mMarquee");
f.setAccessible(true);
Object marquee = f.get(tv);
if (marquee != null) {
Field mf = marquee.getClass().getDeclaredField("mScrollUnit");
mf.setAccessible(true);
float newSpeed = speed;
if (speedIsMultiplier) {
newSpeed = mf.getFloat(marquee) * speed;
}
mf.setFloat(marquee, newSpeed);
Log.i(this.getClass().getSimpleName(), String.format("%s marquee speed set to %f", tv, newSpeed));
}
} catch (Exception e) {
// ignore, not implemented in current API level
}
}