blob: 9f194053d92359c0f00140cd4f0e829b4c0b4a80 [file] [log] [blame]
Chet Haasefaebd8f2012-05-18 14:17:57 -07001/*
2 * Copyright (C) 2013 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.transitiontests;
17
18import android.animation.ObjectAnimator;
19import android.animation.ValueAnimator;
20import android.app.Activity;
21import android.content.Context;
22import android.graphics.Canvas;
23import android.graphics.Color;
24import android.graphics.Paint;
25import android.graphics.Rect;
26import android.os.Bundle;
27import android.view.View;
28import android.widget.ImageView;
29import android.widget.RelativeLayout;
Chet Haasefaebd8f2012-05-18 14:17:57 -070030
31
32public class HitRectBug extends Activity {
33 @Override
34 protected void onCreate(Bundle savedInstanceState)
35 {
36 super.onCreate(savedInstanceState);
37 setContentView(new TestDrawingView(this));
38 }
39
40 public static class TestDrawingView extends RelativeLayout
41 {
42 private Rect mRect = new Rect();
43 private Paint mPaint;
44 private ImageView mImageView;
45
46 public TestDrawingView(Context context)
47 {
48 super(context);
49 setWillNotDraw(false);
50
51 mPaint = new Paint();
52 mPaint.setColor(Color.RED);
53 mPaint.setStyle(Paint.Style.STROKE);
54
55 mImageView = new ImageView(context);
56 mImageView.setLeft(100);
57 mImageView.setRight(200);
58 mImageView.setImageResource(R.drawable.self_portrait_square);
59 mImageView.setScaleX(3);
60 mImageView.setScaleY(3);
61// mImageView.setRotation(145);
62
63 ObjectAnimator anim = ObjectAnimator.ofFloat(mImageView, View.ROTATION, 0, 360);
64 anim.setRepeatCount(ValueAnimator.INFINITE);
65 anim.setDuration(5000);
66 anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
67 @Override
68 public void onAnimationUpdate(ValueAnimator animation) {
69 invalidate();
70 }
71 });
72 anim.start();
73 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(128, 128);
74 params.addRule(RelativeLayout.CENTER_IN_PARENT);
75 addView(mImageView, params);
76 }
77
78 @Override
79 protected void onDraw(Canvas canvas)
80 {
81 super.onDraw(canvas);
82 }
83
84 @Override
85 protected void dispatchDraw(Canvas canvas) {
86 super.dispatchDraw(canvas);
87 mImageView.getHitRect(mRect);
88 canvas.drawRect(mRect, mPaint);
89 }
90 }
91}