IT尋寶
          程序員的世界
          posts - 0,  comments - 2,  trackbacks - 0
          import android.app.Activity;
          02 import android.content.Context;
          03 import android.graphics.Canvas;
          04 import android.graphics.Color;
          05 import android.graphics.Paint;
          06 import android.os.Bundle;
          07 import android.util.DisplayMetrics;
          08 import android.view.MotionEvent;
          09 import android.view.View;
          10   
          11 /**
          12  * ...
          13  
          14  * @author vlinux
          15  
          16  */
          17 public class MultiTouchTestActivity extends Activity {
          18     /** Called when the activity is first created. */
          19     @Override
          20     public void onCreate(Bundle savedInstanceState) {
          21         super.onCreate(savedInstanceState);
          22         // setContentView(R.layout.main);
          23         View view = new MultiTouchView(this);
          24         setContentView(view);
          25     }
          26   
          27     class MultiTouchView extends View {
          28   
          29         private float x1;
          30         private float y1;
          31         private float x2;
          32         private float y2;
          33   
          34         public MultiTouchView(Context context) {
          35             super(context);
          36             // TODO Auto-generated constructor stub
          37         }
          38   
          39         @Override
          40         public boolean onTouchEvent(MotionEvent event) {
          41             // TODO Auto-generated method stub
          42   
          43             float size = event.getSize();
          44   
          45             int szi = (int) size;
          46             int dxi = szi >> 12;
          47             int dyit = ((1 << 12) - 1);
          48             int dyi = szi & dyit;
          49   
          50             DisplayMetrics metrics = getResources().getDisplayMetrics();
          51             float dx = metrics.widthPixels * dxi / (float) dyit;
          52             float dy = metrics.heightPixels * dyi / (float) dyit;
          53   
          54             x1 = event.getX();
          55             y1 = event.getY();
          56   
          57             x2 = x1 + dx;
          58             y2 = y1 + dy;
          59   
          60             invalidate();
          61   
          62             return true;
          63         }
          64   
          65         @Override
          66         protected void onDraw(Canvas canvas) {
          67             // TODO Auto-generated method stub
          68             super.onDraw(canvas);
          69   
          70             float r = (float) Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2)
          71                     * (y1 - y2)) / 2;
          72             r = 50 >= r ? 50 : r;
          73   
          74             Paint paint = new Paint();
          75             paint.setColor(Color.BLUE);
          76             canvas.drawCircle(x1, y1, r, paint);
          77   
          78         }
          79   
          80     }
          81   
          82 }
          posted on 2011-06-27 22:54 特務小強 閱讀(62) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          留言簿

          隨筆分類

          文章檔案

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 芮城县| 宜黄县| 南靖县| 汉寿县| 万安县| 景泰县| 增城市| 华池县| 高安市| 山东省| 烟台市| 沙坪坝区| 阿拉尔市| 海盐县| 崇礼县| 即墨市| 盘山县| 黔南| 华宁县| 简阳市| 祁东县| 泰州市| 普洱| 方城县| 祁门县| 祁连县| 福州市| 克拉玛依市| 张家港市| 贡觉县| 舒城县| 施秉县| 轮台县| 绿春县| 宝清县| 武汉市| 胶南市| 郸城县| 栖霞市| 扬州市| 凉城县|