最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程簡(jiǎn)單實(shí)現(xiàn)雷達(dá)掃描效果

 更新時(shí)間:2015年10月27日 12:01:32   作者:freesonhp  
這篇文章主要介紹了Android編程簡(jiǎn)單實(shí)現(xiàn)雷達(dá)掃描效果,涉及Android圖形繪制及顯示的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android編程簡(jiǎn)單實(shí)現(xiàn)雷達(dá)掃描效果。分享給大家供大家參考,具體如下:

在eoe看到有一篇關(guān)于雷達(dá)掃描的文章,然后看了下,很簡(jiǎn)單,但是覺得還有很多可以優(yōu)化的地方,下面貼出來

package com.example.wave;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.util.AttributeSet;
import android.widget.FrameLayout;
public class RadarView extends FrameLayout {
 private int viewSize = 500;
 private Paint mPaintLine;
 private Paint mPaintSector;
 private boolean isStart = false;
 private ScanThread mThread;
 private int start = 0;
 private final int paintWidth = 10;
 public RadarView(Context context) {
  super(context);
  init();
 }
 public RadarView(Context context, AttributeSet attrs) {
  super(context, attrs);
  init();
 }
 private void init() {
  initPaint();
  mThread = new ScanThread();
  setBackgroundColor(Color.TRANSPARENT);
 }
 private void initPaint() {
  mPaintLine = new Paint();
  mPaintLine.setStrokeWidth(paintWidth);
  mPaintLine.setAntiAlias(true);
  mPaintLine.setStyle(Style.STROKE);
  mPaintLine.setColor(0xffff0000);
  mPaintSector = new Paint();
  mPaintSector.setColor(0x9D00ff00);
  mPaintSector.setAntiAlias(true);
 }
 public void setViewSize(int size) {
  this.viewSize = size;
  mShader = new SweepGradient(viewSize >> 1, viewSize >> 1, Color.TRANSPARENT, Color.GREEN);
  setMeasuredDimension(viewSize, viewSize);
 }
 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  setMeasuredDimension(viewSize, viewSize);
 }
 public void start() {
  mThread.start();
  isStart = true;
 }
 public void stop() {
  if (isStart) {
   Thread.interrupted();
   isStart = false;
  }
 }
 private Shader mShader = new SweepGradient(viewSize >> 1, viewSize >> 1, Color.TRANSPARENT, Color.GREEN);
 private Matrix matrix = new Matrix();
 @Override
 protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  int halfRadaSize = viewSize >> 1;
  canvas.drawCircle(halfRadaSize, halfRadaSize, halfRadaSize >> 1, mPaintLine);
  canvas.drawCircle(halfRadaSize, halfRadaSize, halfRadaSize - (paintWidth >> 1), mPaintLine);
  canvas.drawLine(halfRadaSize, 0, halfRadaSize, viewSize, mPaintLine);
  canvas.drawLine(0, halfRadaSize, viewSize, halfRadaSize, mPaintLine);
  mPaintSector.setShader(mShader);
  canvas.concat(matrix);
  canvas.drawCircle(halfRadaSize, halfRadaSize, halfRadaSize - paintWidth, mPaintSector);
 }
 protected class ScanThread extends Thread {
  int halfRadaSize = viewSize >> 1;
  @Override
  public void run() {
   while (isStart) {
    start = start + 2;
    matrix.reset();
    matrix.postRotate(start, halfRadaSize, halfRadaSize);
    postInvalidate();
    try {
     Thread.sleep(10);
    } catch (InterruptedException e) {
     e.printStackTrace();
    }
   }
  }
 }
}

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android實(shí)現(xiàn)底部滾輪式選擇彈跳框

    Android實(shí)現(xiàn)底部滾輪式選擇彈跳框

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部滾輪式選擇彈跳框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android 設(shè)置Edittext獲取焦點(diǎn)并彈出軟鍵盤

    Android 設(shè)置Edittext獲取焦點(diǎn)并彈出軟鍵盤

    本文主要介紹了Android設(shè)置Edittext獲取焦點(diǎn)并彈出軟鍵盤的實(shí)現(xiàn)代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • Android版學(xué)生管理系統(tǒng)

    Android版學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Android版學(xué)生管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Android 使用騰訊X5瀏覽器上傳圖片的示例

    Android 使用騰訊X5瀏覽器上傳圖片的示例

    這篇文章主要介紹了Android 使用騰訊X5瀏覽器上傳圖片的示例,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android仿新浪微博/QQ空間滑動(dòng)自動(dòng)播放視頻功能

    Android仿新浪微博/QQ空間滑動(dòng)自動(dòng)播放視頻功能

    相信用過新浪微博或者QQ空間的朋友都看到過滑動(dòng)自動(dòng)播放視頻的效果,那么這篇文章跟大家分享下如何利用Android實(shí)現(xiàn)這一個(gè)功能,有需要的朋友們可以參考借鑒。
    2016-09-09
  • Android中的全局變量與局部變量使用小結(jié)

    Android中的全局變量與局部變量使用小結(jié)

    這篇文章主要介紹了Android中的全局變量與局部變量使用小結(jié),全局變量顧名思義就是在整個(gè)的類中或者可在多個(gè)函數(shù)中調(diào)用的變量,也稱為外部變量,局部變量則是特定過程或函數(shù)中可以訪問的變量,需要的朋友可以參考下
    2015-01-01
  • android dialog自定義實(shí)例詳解

    android dialog自定義實(shí)例詳解

    簡(jiǎn)單的自定義dialog,該dialog具備以下功能:有一個(gè)窗口可以顯示文章、根據(jù)需求顯示,有需要的朋友可以參考下
    2012-12-12
  • 如何在XML中定義菜單

    如何在XML中定義菜單

    這篇文章主要為大家詳細(xì)介紹了在XML中定義菜單的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android ProgressBar直線進(jìn)度條的實(shí)例代碼

    Android ProgressBar直線進(jìn)度條的實(shí)例代碼

    本文通過實(shí)例代碼給大家介紹了android progressbar直線進(jìn)度條的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-06-06
  • Android開發(fā)實(shí)現(xiàn)生成excel的方法詳解

    Android開發(fā)實(shí)現(xiàn)生成excel的方法詳解

    這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)生成excel的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android生成Excel的具體步驟與存儲(chǔ)、導(dǎo)入、添加等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10

最新評(píng)論

贞丰县| 武平县| 长春市| 卫辉市| 德钦县| 兴宁市| 太白县| 崇信县| 绥棱县| 当雄县| 平舆县| 龙泉市| 昌吉市| 富顺县| 高州市| 正镶白旗| 淮北市| 东平县| 广宗县| 怀化市| 修水县| 洛隆县| 鲁山县| 永登县| 依安县| 天峨县| 安西县| 乌鲁木齐县| 隆安县| 定兴县| 太康县| 德江县| 皋兰县| 东乡族自治县| 松江区| 大庆市| 曲周县| 宣恩县| 讷河市| 饶平县| 和硕县|