歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 兩點縮放字體

Android 兩點縮放字體源碼工程下載:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /pub/Android源碼集錦/2011年/11月/Android 兩點縮放字體/

MultiTouchTestActivity

  1. package src.youer.text;  
  2.   
  3. import java.io.InputStream;  
  4.   
  5. import android.app.Activity;  
  6. import android.os.Bundle;  
  7. import android.widget.TextView;  
  8.   
  9. public class MultiTouchTestActivity extends Activity  
  10. {  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState)  
  13.     {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.         TextView textView = (TextView) this.findViewById(R.id.text_view);  
  17.         try  
  18.         {  
  19.             textView.setText(readText());  
  20.         }  
  21.         catch (Exception e)  
  22.         {  
  23.             e.printStackTrace();  
  24.         }  
  25.         float zoomScale = 0.5f;// 縮放比例   
  26.         new ZoomTextView(textView, zoomScale);  
  27.     }  
  28.   
  29.     /** 
  30.      * 讀取txt 
  31.      *  
  32.      * @param str 
  33.      * @return 
  34.      * @throws Exception 
  35.      */  
  36.     public String readText() throws Exception  
  37.     {  
  38.         InputStream is = this.getClass()  
  39.                 .getResourceAsStream("/assets/text.txt");  
  40.         int index = is.available();  
  41.         byte data[] = new byte[index];  
  42.         is.read(data);  
  43.         return new String(data, "UTF-8");  
  44.     }  
  45. }  

ZoomTextView

  1. package src.youer.text;  
  2.   
  3. import android.widget.TextView;  
  4.   
  5. public class ZoomTextView extends ZoomView<TextView>  
  6. {  
  7.     /** 最小字體 */  
  8.     public static final float MIN_TEXT_SIZE = 10f;  
  9.   
  10.     /** 最大子圖 */  
  11.     public static final float MAX_TEXT_SIZE = 100.0f;  
  12.   
  13.     /** 縮放比例 */  
  14.     float scale;  
  15.   
  16.     /** 設置字體大小 */  
  17.     float textSize;  
  18.   
  19.     public ZoomTextView(TextView view, float scale)  
  20.     {  
  21.         super(view);  
  22.         this.scale = scale;  
  23.         textSize = view.getTextSize();  
  24.     }  
  25.   
  26.     /** 
  27.      * 放大 
  28.      */  
  29.     protected void zoomOut()  
  30.     {  
  31.         textSize += scale;  
  32.         if (textSize > MAX_TEXT_SIZE)  
  33.         {  
  34.             textSize = MAX_TEXT_SIZE;  
  35.         }  
  36.         view.setTextSize(textSize);  
  37.     }  
  38.   
  39.     /** 
  40.      * 縮小 
  41.      */  
  42.     protected void zoomIn()  
  43.     {  
  44.         textSize -= scale;  
  45.         if (textSize < MIN_TEXT_SIZE)  
  46.         {  
  47.             textSize = MIN_TEXT_SIZE;  
  48.         }  
  49.         view.setTextSize(textSize);  
  50.     }  
  51.   
  52. }  
Copyright © Linux教程網 All Rights Reserved