Я создаю приложение Typing Tutor, в котором есть опции для ввода цифр, алфавитов и символов.При выборе конкретной опции массив загружается с любым из символов.Следующая проблема - моя проблема:
Деятельность, которая загружает массив, отображает символы и отображает их в случайном месте действия.Для этого я предоставил альфа-анимацию для каждого символа, который появляется на определенный период времени и исчезает, а другой символ появляется после него.Но я не получаю желаемого результата.Альфа-анимация применяется ко всему виду холста, а не к каждому символу.Я хочу альфа-анимацию для каждого символа, а не весь вид холста.Вот код:
/*
* Create a view that displays the animation.
* This view will display the alpha animation
* The array is loaded and the elements are
* displayed in the random manner
*/
class AnimationView extends View
{
Animation animation;
String str;
Random randomLocationXY, randomValues;
public AnimationView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
private void createAnimation(Canvas canvas)
{
animation = new AlphaAnimation(0.0f, 1.0f);
animation.setRepeatCount(50);
animation.setRepeatMode(Animation.REVERSE);
animation.setInterpolator(new AccelerateDecelerateInterpolator());
animation.setDuration(10000l);
startAnimation(animation);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
randomLocationXY = new Random();
//randomValues = new Random();
if(animation == null)
{
createAnimation(canvas);
}
Paint p = new Paint();
p.setColor(Color.RED);
p.setTextSize(40);
p.setTypeface(Typeface.SANS_SERIF);
for(int i=0; i< sel_array.length;i++)
{
int x = randomLocationXY.nextInt(canvas.getWidth());
int y = randomLocationXY.nextInt(canvas.getHeight());
str = sel_array[i];
//draws the text at random location
canvas.drawText(str, x, y, p);
}
}
}