Animated3dActivity.java revision 47b8adec3904535c8d8ce2b6e42ecd736f2d90ce
147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy/* 247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * Copyright (C) 2010 The Android Open Source Project 347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * 447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * Licensed under the Apache License, Version 2.0 (the "License"); 547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * you may not use this file except in compliance with the License. 647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * You may obtain a copy of the License at 747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * 847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * http://www.apache.org/licenses/LICENSE-2.0 947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * 1047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * Unless required by applicable law or agreed to in writing, software 1147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * distributed under the License is distributed on an "AS IS" BASIS, 1247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * See the License for the specific language governing permissions and 1447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * limitations under the License. 1547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy */ 1647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy 1747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guypackage com.android.test.hwui; 1847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy 1947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.animation.ObjectAnimator; 2047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.app.Activity; 2147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.content.Context; 2247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Bitmap; 2347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.BitmapFactory; 2447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Camera; 2547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Canvas; 2647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Matrix; 2747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.os.Bundle; 2847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.view.View; 2947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.widget.FrameLayout; 3047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.widget.ImageView; 3147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy 3247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy@SuppressWarnings({"UnusedDeclaration"}) 3347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guypublic class Animated3dActivity extends Activity { 3447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy @Override 3547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy protected void onCreate(Bundle savedInstanceState) { 3647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy super.onCreate(savedInstanceState); 3747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy 3847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy ImageView view = new ImageView(this); 3947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy view.setImageResource(R.drawable.large_photo); 4047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy 4147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy setContentView(view, new FrameLayout.LayoutParams( 4247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT 4347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy )); 4447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy 4547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy ObjectAnimator animator = ObjectAnimator.ofFloat(view, "rotationY", 0.0f, 360.0f); 4647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy animator.setDuration(4000); 4747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy animator.setRepeatCount(ObjectAnimator.INFINITE); 4847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy animator.setRepeatMode(ObjectAnimator.REVERSE); 4947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy animator.start(); 5047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy } 5147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy} 52