1

I have following code which is to zoom in and zoom out text view font size .But it woks only if i have text view .Suppose if i add Scroll view in my layout then it wont work .If any one know how to solve.Please post your answers

  public class Introduce extends Activity implements OnTouchListener{

     final static float STEP = 200;
     TextView mtxtRatio1,mtxtRatio2,mtxtRatio3,mtxtRatio4;
     float mRatio = 1.0f;
     int mBaseDist;
     float mBaseRatio;
     float fontsize = 13;

     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.introduce);

      mtxtRatio1 = (TextView)findViewById(R.id.intro1);
      mtxtRatio1.setTextSize(mRatio+13);  
     }

     public boolean onTouchEvent(MotionEvent event) {
      if (event.getPointerCount() == 2) {
       int action = event.getAction();
       int pureaction = action & MotionEvent.ACTION_MASK;
       if (pureaction == MotionEvent.ACTION_POINTER_DOWN) {
        mBaseDist = getDistance(event);
        mBaseRatio = mRatio;
       } else {
        float delta = (getDistance(event) - mBaseDist) / STEP;
        float multi = (float)Math.pow(2, delta);
        mRatio = Math.min(1024.0f, Math.max(0.1f, mBaseRatio * multi));
        mtxtRatio1.setTextSize(mRatio+13);
       }
      }
      return true; 
     }

     int getDistance(MotionEvent event) {
      int dx = (int)(event.getX(0) - event.getX(1));
      int dy = (int)(event.getY(0) - event.getY(1));
      return (int)(Math.sqrt(dx * dx + dy * dy));
     }

     public boolean onTouch(View v, MotionEvent event) {
      // TODO Auto-generated method stub
      return false;
     }
    }

xml layout

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
<ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10dp"
   >

<TextView
            android:id="@+id/intro1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/description"
            android:textAppearance="?android:attr/textAppearanceSmall" />
</ScrollView>
    </LinearLayout>
Vision Coderz
  • 8,257
  • 5
  • 41
  • 57

0 Answers0