欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)單,但是覺(jué)得還有很多可以?xún)?yōu)化的地方,下面貼出來(lái)

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)文章

  • 九宮圖比較常用的多控件布局(GridView)使用介紹

    九宮圖比較常用的多控件布局(GridView)使用介紹

    GridView跟ListView都是比較常用的多控件布局,而GridView更是實(shí)現(xiàn)九宮圖的首選,下面與大家分享下GridView用法,感興趣的朋友可以參考下哈
    2013-06-06
  • Android實(shí)現(xiàn)帶附件的郵件發(fā)送功能

    Android實(shí)現(xiàn)帶附件的郵件發(fā)送功能

    這篇文章主要介紹了Android實(shí)現(xiàn)帶附件的郵件發(fā)送功能的相關(guān)資料,android發(fā)送郵件有兩種方式,本文重點(diǎn)介紹基于JMail實(shí)現(xiàn)郵件發(fā)送功能,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android實(shí)現(xiàn)微信支付功能

    Android實(shí)現(xiàn)微信支付功能

    這篇文章主要介紹了Android實(shí)現(xiàn)微信支付功能,微信支付功能,幾乎成為很多APP付款的主要方式之一,本文講解Android APP微信支付功能開(kāi)發(fā),感興趣的小伙伴們可以參考一下
    2016-02-02
  • Android O實(shí)現(xiàn)Framework層CENTER鍵長(zhǎng)按功能方法

    Android O實(shí)現(xiàn)Framework層CENTER鍵長(zhǎng)按功能方法

    這篇文章主要為大家介紹了Android O實(shí)現(xiàn)Framework層CENTER鍵長(zhǎng)按功能方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Android 對(duì)話(huà)框sweet-alert-dialog

    Android 對(duì)話(huà)框sweet-alert-dialog

    這篇文章主要介紹了Android 對(duì)話(huà)框sweet-alert-dialog的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • adb push命令向設(shè)備傳輸文件的操作步驟

    adb push命令向設(shè)備傳輸文件的操作步驟

    這篇文章主要介紹了adb push命令向設(shè)備傳輸文件的操作步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • 關(guān)于A(yíng)ndroid 4.4相機(jī)預(yù)覽、錄像花屏的問(wèn)題的解決方法

    關(guān)于A(yíng)ndroid 4.4相機(jī)預(yù)覽、錄像花屏的問(wèn)題的解決方法

    這篇文章主要介紹了關(guān)于A(yíng)ndroid 4.4相機(jī)預(yù)覽、錄像花屏的問(wèn)題的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2016-12-12
  • Android BroadcastReceiver傳輸機(jī)制詳解

    Android BroadcastReceiver傳輸機(jī)制詳解

    Android開(kāi)發(fā)的四大組件分別是:活動(dòng)(activity),用于表現(xiàn)功能;服務(wù)(service),后臺(tái)運(yùn)行服務(wù),不提供界面呈現(xiàn);廣播接受者(Broadcast Receive),勇于接收廣播;內(nèi)容提供者(Content Provider),支持多個(gè)應(yīng)用中存儲(chǔ)和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫(kù),本篇著重介紹廣播組件
    2023-01-01
  • Android 通過(guò)網(wǎng)絡(luò)圖片路徑查看圖片實(shí)例詳解

    Android 通過(guò)網(wǎng)絡(luò)圖片路徑查看圖片實(shí)例詳解

    這篇文章主要介紹了Android 通過(guò)網(wǎng)絡(luò)圖片路徑查看圖片實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Android中Notification 提示對(duì)話(huà)框

    Android中Notification 提示對(duì)話(huà)框

    Notification,俗稱(chēng)通知,是一種具有全局效果的通知,它展示在屏幕的頂端,首先會(huì)表現(xiàn)為一個(gè)圖標(biāo)的形式,當(dāng)用戶(hù)向下滑動(dòng)的時(shí)候,展示出通知具體的內(nèi)容
    2016-01-01

最新評(píng)論