PDA

View Full Version : بزرگ کردن متن با لمس دو انگشتی( scaleGestureDetector )



zahra.mf
سه شنبه 17 شهریور 1394, 19:02 عصر
سلام من میخوام با scaleGestureDetector یه متن و با لمس انگشت روی صفحه سایزش و بزرگ کنم چیزی که نوشتم این کار و انجام میده ولی موقعی که سایز و بزرگ میکنم و دوباره کوچیک میکنم مکان متن عوض شده
این کد من هست

public class ActivityGustre extends Activity {

TextView scaleGesture;
ScaleGestureDetector scaleGestureDetector;




@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_gustre);


scaleGesture = (TextView)findViewById(R.id.txtsize);
scaleGesture.setText("this is some text");
scaleGestureDetector = new ScaleGestureDetector(this, new simpleOnScaleGestureListener());
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_activity_gus tre, menu);
return true;
}


@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
scaleGestureDetector.onTouchEvent(event);
return true;
}


public class simpleOnScaleGestureListener extends
ScaleGestureDetector.SimpleOnScaleGestureListener {


@Override
public boolean onScale(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
float size = scaleGesture.getTextSize();
Log.d("TextSizeStart", String.valueOf(size));


float factor = detector.getScaleFactor();
Log.d("Factor", String.valueOf(factor));




float product = size*factor;
Log.d("TextSize", String.valueOf(product));
scaleGesture.setTextSize(TypedValue.COMPLEX_UNIT_P X, product);


size = scaleGesture.getTextSize();
Log.d("TextSizeEnd", String.valueOf(size));
return true;
}
}




public boolean onTouch(View v, MotionEvent event) {
return false;
}




@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();


//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}


return super.onOptionsItemSelected(item);
}
}