I am creating a game. Most of the computation is done in a custom View class which contains a grid of custom Squares which extend imageview. Here's some code to describe what's happening:
public class GameView extends View { public Square squares[] = null; public GameView(Context context, AttributeSet a) { super(context, a); setFocusable(true); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); squares = new Square[numSquares]; } public void resetGame() { } public void restartGame() { } public boolean onTouchEvent(MotionEvent event) { int eventaction = event.getAction(); int X = (int)event.getX(); int Y = (int)event.getY(); switch (eventaction) { case MotionEvent.ACTION_DOWN: currentTouchIndex = checkForSquareTouch(X, Y); if(currentTouchIndex >= 0) { squares[currentTouchIndex].select(); ((MainActivity)this.getContext()).startSquareAnimation(); ......... return true; } Thats the main View. Square implementation: public class Square extends ImageView { public Square(Context context, AttributeSet attrs, int x, int y, int squareWidth, boolean operator, int textS, Typeface f) { super(context, attrs); { this.setImageResource(R.drawable.chalkbox); this.getDrawable().setBounds(x, y, x + squareWidth, y + squareWidth); this.setAlpha(10); } protected void onDraw(Canvas canvas) { Paint foreground = new Paint(Paint.ANTI_ALIAS_FLAG); foreground.setStyle(Style.FILL); foreground.setTextSize(textSize); foreground.setColor(Color.WHITE); foreground.setTextScaleX(1); foreground.setTextAlign(Paint.Align.CENTER); foreground.setTypeface(font); int left = this.getDrawable().getBounds().left; int right = this.getDrawable().getBounds().right; int top = this.getDrawable().getBounds().top; int bottom = this.getDrawable().getBounds().bottom; if (invalidMove) { } if (isOperator) { if (text.equals("+")) bottom += 10; if (text.equals("/")) bottom += 5; if (text.equals("x") || text.equals("/")) foreground.setTextSize(textSize - 5); else foreground.setTextSize(textSize); } this.getDrawable().draw(canvas); canvas.drawText(text, (left + right) / 2, ((top + bottom) / 2) + 10, foreground); } Hope that gives you a view of the structure. I'm trying to animate the Square, so that when a player presses on a Square, the Square brightens and then fades again when they lift their finger off. The problem is that the call to square[0].startAnimation() does not seem to be working and the animation is not playing. Am I doing something wrong? -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en