1 /*
2 * Copyright (C) 2016 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 */
16 
17 package android.view;
18 
19 import android.app.Activity;
20 import android.os.Bundle;
21 import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
22 
23 import com.android.frameworks.coretests.R;
24 
25 public class ScaleGesture extends Activity {
26     private ScaleGestureDetector mScaleGestureDetector;
27     private float mFactor;
28     @Override
onCreate(Bundle savedInstanceState)29     protected void onCreate(Bundle savedInstanceState) {
30         super.onCreate(savedInstanceState);
31         setContentView(R.layout.scale_gesture);
32         mScaleGestureDetector = new ScaleGestureDetector(this, new OnScaleGestureListener());
33         mFactor = 1.0f;
34     }
35 
getScaleFactor()36     public float getScaleFactor() {
37         return mFactor;
38     }
39 
40     @Override
onTouchEvent(MotionEvent event)41     public boolean onTouchEvent(MotionEvent event) {
42         mScaleGestureDetector.onTouchEvent(event);
43         return true;
44     }
45 
46     public class OnScaleGestureListener extends SimpleOnScaleGestureListener {
47         @Override
onScale(ScaleGestureDetector detector)48         public boolean onScale(ScaleGestureDetector detector) {
49             mFactor *= detector.getScaleFactor();
50             return true;
51         }
52     }
53 }
54