1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.textview);
line = (LinearLayout) findViewById(R.id.ll_country);
scaleGestureDetector = new ScaleGestureDetector(this, new simpleOnScaleGestureListener());
//Initialise le tablelayout
country_table=(TableLayout)findViewById(R.id.country_table);
//allimente le tablelayout
fillCountryTable(pays, id_type);
}
public boolean onTouchEvent(MotionEvent event) {
// if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_MOVE) {
//if (event.getPointerCount()==2){
// float x = event.getX(0) - event.getX(1);
// float y = event.getY(0) - event.getY(1);
scaleGestureDetector.onTouchEvent(event);
// }
// }
return true;
}
public class simpleOnScaleGestureListener extends SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
float scaleFactor = detector.getScaleFactor();
PointF pivot =new PointF(0,0);
if(scaleFactor > 1){
line.setPivotX(pivot.x*2);
line.setPivotY(pivot.y*2);
line.setScaleY(2*detector.getScaleFactor());
line.setScaleX(2*detector.getScaleFactor());
//scaleGesture.setText(String.valueOf(detector.getScaleFactor()));
}else{
line.setPivotX(pivot.x/2);
line.setPivotY(pivot.y/2);
line.setScaleY(detector.getScaleFactor()/2);
line.setScaleX(detector.getScaleFactor()/2);
}
return true;
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
line.setVisibility(View.VISIBLE);
return true;
}
@Override
public void onScaleEnd(ScaleGestureDetector detector) {
line.setVisibility(View.VISIBLE);
}
} |
Partager