亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android中SurfaceView用法簡單實例

2020-04-11 11:20:23
字體:
來源:轉載
供稿:網友

本文實例講述了Android中SurfaceView用法。分享給大家供大家參考,具體如下:

這里貼上一個小程序代碼,主要運用SurfaceView來實現在屏幕上畫一個圓,你可以通過按方向鍵和觸摸屏幕來改變圓的位置

代碼:

Activity:

package com.view; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class MainActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      // 隱藏狀態欄      this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,          WindowManager.LayoutParams.FLAG_FULLSCREEN);      // 把Activity的標題去掉      requestWindowFeature(Window.FEATURE_NO_TITLE);      // 設置布局      this.setContentView(new MySurfaceView(this));    } }

SurfaceView:

package com.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceHolder.Callback; import android.view.SurfaceView; public class MySurfaceView extends SurfaceView implements Runnable, Callback {   private SurfaceHolder mHolder; // 用于控制SurfaceView    private Thread t; // 聲明一條線程    private boolean flag; // 線程運行的標識,用于控制線程    private Canvas mCanvas; // 聲明一張畫布    private Paint p; // 聲明一支畫筆    private int x = 50, y = 50, r = 10; // 圓的坐標和半徑    public MySurfaceView(Context context) {      super(context);      mHolder = getHolder(); // 獲得SurfaceHolder對象      mHolder.addCallback(this); // 為SurfaceView添加狀態監聽      p = new Paint(); // 創建一個畫筆對象      p.setColor(Color.WHITE); // 設置畫筆的顏色為白色      setFocusable(true); // 設置焦點    }    /**    * 自定義一個方法,在畫布上畫一個圓    */    public void Draw() {      mCanvas = mHolder.lockCanvas(); // 獲得畫布對象,開始對畫布畫畫      mCanvas.drawRGB(0, 0, 0); // 把畫布填充為黑色      mCanvas.drawCircle(x, y, r, p); // 畫一個圓      mHolder.unlockCanvasAndPost(mCanvas); // 完成畫畫,把畫布顯示在屏幕上    }    /**    * 當SurfaceView創建的時候,調用此函數    */    @Override    public void surfaceCreated(SurfaceHolder holder) {      t = new Thread(this); // 創建一個線程對象      flag = true; // 把線程運行的標識設置成true      t.start(); // 啟動線程    }    /**    * 當SurfaceView的視圖發生改變的時候,調用此函數    */    @Override    public void surfaceChanged(SurfaceHolder holder, int format, int width,        int height) {    }    /**    * 當SurfaceView銷毀的時候,調用此函數    */    @Override    public void surfaceDestroyed(SurfaceHolder holder) {      flag = false; // 把線程運行的標識設置成false    }    /**    * 當屏幕被觸摸時調用    */    @Override    public boolean onTouchEvent(MotionEvent event) {      x = (int) event.getX(); // 獲得屏幕被觸摸時對應的X軸坐標      y = (int) event.getY(); // 獲得屏幕被觸摸時對應的Y軸坐標      return true;    }    /**    * 當用戶按鍵時調用    */    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {      if(keyCode == KeyEvent.KEYCODE_DPAD_UP){  //當用戶點擊↑鍵時        y--;  //設置Y軸坐標減1      }      return super.onKeyDown(keyCode, event);    }    @Override    public void run() {      while (flag) {        Draw(); // 調用自定義畫畫方法        try {          Thread.sleep(50); // 讓線程休息50毫秒        } catch (InterruptedException e) {          e.printStackTrace();        }      }    } }

MySurfaceView首先繼承SurfaceView,然后實現Runnable和Callback接口

重寫了Runnable的run方法和Callback的surfaceCreated(SurfaceHolder holder),surfaceChanged(SurfaceHolder holder, int format, int width,int height),surfaceDestroyed(SurfaceHolder holder)方法,

還實現了onTouchEvent(MotionEvent event),onKeyDown(int keyCode, KeyEvent event)方法來,詳細的在代碼里已注釋。

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情第三页| 中文字幕av一区二区三区谷原希美| 亚洲一区二区三区在线视频| 欧美中文字幕视频在线观看| 日韩资源在线观看| 国产亚洲精品美女久久久| 久久大大胆人体| 国产亚洲欧美日韩精品| 国产免费亚洲高清| 欧美激情一区二区三区成人| 亚洲国产成人av在线| 日韩精品www| 久久成人人人人精品欧| 蜜臀久久99精品久久久久久宅男| 97国产精品人人爽人人做| 日韩一区二区久久久| 亚洲第一福利网站| 欧美尤物巨大精品爽| 久久久亚洲成人| 久久人人爽人人爽人人片亚洲| 国产精品久久久久不卡| 欧美黑人极品猛少妇色xxxxx| 中文字幕亚洲一区在线观看| 成人性生交大片免费看视频直播| 欧美日韩国产麻豆| www.日韩不卡电影av| 久久精品视频免费播放| 精品久久在线播放| 亚洲美女黄色片| 爱福利视频一区| 国产91在线视频| 国产一区二区三区网站| 国产区精品在线观看| 日韩精品免费综合视频在线播放| 国产精品久久久久福利| 欧美一级黑人aaaaaaa做受| 久久99视频精品| 国产日本欧美视频| 日韩在线观看免费网站| 欧美成人精品在线观看| 欧美激情在线观看视频| 日韩视频免费看| 亚洲国产成人91精品| www.99久久热国产日韩欧美.com| 91亚洲永久免费精品| 欧美精品国产精品日韩精品| 久久久久久久爱| 亚洲电影在线看| 久久精品99国产精品酒店日本| 97国产在线视频| 91丝袜美腿美女视频网站| 日韩免费电影在线观看| 亚洲国产古装精品网站| 亚洲欧美另类国产| 国产精品国产三级国产专播精品人| 久久亚洲欧美日韩精品专区| 成人亚洲综合色就1024| 欧美大片在线看免费观看| 国产午夜精品美女视频明星a级| 欧美小视频在线| 中文字幕久久亚洲| 欧美激情一级精品国产| 国产成人精品最新| 欧美成人在线免费视频| 欧美大片在线免费观看| 日韩av在线电影网| 91极品视频在线| 中文字幕欧美日韩va免费视频| 欧美成人精品一区二区| 色老头一区二区三区| 精品久久久久久久久久久久久久| 91精品国产综合久久久久久久久| 久久久亚洲国产天美传媒修理工| 超薄丝袜一区二区| 国产99久久精品一区二区 夜夜躁日日躁| 久久91亚洲人成电影网站| 国产精品在线看| 91精品国产99| 精品香蕉一区二区三区| 亚洲综合在线小说| 日韩在线观看免费高清| 欧美大片免费观看在线观看网站推荐| 国产精品99蜜臀久久不卡二区| 亚洲人成在线观看网站高清| 亚洲精品成人免费| 91av在线国产| 亚洲欧洲自拍偷拍| 亚洲第一区中文字幕| xvideos亚洲| 亚洲欧美日韩在线一区| 黄色一区二区在线观看| 欧美性生交大片免网| 欧美性生活大片免费观看网址| 91po在线观看91精品国产性色| 精品香蕉在线观看视频一| www.99久久热国产日韩欧美.com| 久久久久久国产三级电影| 成人妇女淫片aaaa视频| 国产精品永久免费观看| 欧美大成色www永久网站婷| 日韩视频免费看| 欧美性猛交xxxx富婆弯腰| 色爱av美腿丝袜综合粉嫩av| 国产精品一区二区久久久久| 亚洲第一福利视频| 亚洲欧美日韩另类| 国产亚洲精品久久久久动| 精品亚洲国产成av人片传媒| 午夜美女久久久久爽久久| 中文精品99久久国产香蕉| 国产精品中文久久久久久久| www.亚洲一区| 精品久久久久久中文字幕| 色综合久综合久久综合久鬼88| 欧美日韩爱爱视频| 久久视频这里只有精品| 91牛牛免费视频| 一区二区日韩精品| 国产午夜精品全部视频播放| 欧美极品欧美精品欧美视频| 在线观看久久久久久| 亚洲精品少妇网址| 亚洲精品国精品久久99热| 国产精品久久久久久久av大片| 亚洲精品资源在线| 欧美性开放视频| 欧美成年人视频| 欧美国产亚洲视频| www.日韩系列| 欧美视频在线看| 国产精品久久久久久超碰| 亚洲欧美一区二区三区情侣bbw| 中文字幕精品视频| 日韩美女av在线免费观看| 久久久爽爽爽美女图片| 国产97色在线| 国产精品一区二区三区毛片淫片| 亚洲国产精品资源| 国产精品高清免费在线观看| 最近中文字幕mv在线一区二区三区四区| 国产精品极品美女在线观看免费| 97人洗澡人人免费公开视频碰碰碰| 国产97在线|日韩| 亚洲最大福利视频网站| 日韩中文字幕视频在线观看| 不卡在线观看电视剧完整版| 亚洲欧美日韩视频一区| 成人激情av在线| 欧美综合国产精品久久丁香| 深夜福利亚洲导航| 伊人成人开心激情综合网| 久久久久久久久久久国产| 欧美精品激情在线观看| 2018国产精品视频| 日韩欧美国产网站| 国产91精品久久久久久久| 欧美高清视频免费观看| 亚洲午夜精品久久久久久性色| 亚洲一区亚洲二区亚洲三区| 国产成人精品一区二区三区| 久久成人精品视频| 亚洲成人黄色在线| 亚洲欧美在线播放| 日韩视频免费大全中文字幕|