防微信雷達掃描加好友控制元件實現
效果圖如下:
RadarView.java
import android.annotation.SuppressLint;
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.SweepGradient;
import android.os.Handler;
import android.util.AttributeSet;
import android.widget.FrameLayout;
public class RadarView extends FrameLayout {
private int w, h;
private Matrix matrix;
private Paint mPaintLine;// 畫普通圓和線的畫筆
private Paint mPaintSector;// 畫有漸變效果的圓的畫筆
public boolean isstart = false;
private int start;
private Handler handler = new Handler();
private Runnable run = new Runnable() {
public void run() {
// TODO Auto-generated method stub
start = start + 1;
matrix = new Matrix();
matrix.postRotate(start, w / 2, h / 2);
RadarView.this.invalidate();
handler.postDelayed(run, 50);
}
};
public RadarView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
initPaint();
setBackgroundResource(R.drawable.a1v);
w = context.getResources().getDisplayMetrics().widthPixels;
h = context.getResources().getDisplayMetrics().heightPixels;
handler.post(run);
}
private void initPaint() {
// TODO Auto-generated method stub
mPaintLine = new Paint();
mPaintLine.setColor(Color.parseColor("#A1A1A1"));
mPaintLine.setStrokeWidth(3);
mPaintLine.setAntiAlias(true);
mPaintLine.setStyle(Style.STROKE);
mPaintSector = new Paint();
mPaintSector.setColor(0x9D00ff00);
mPaintSector.setAntiAlias(true);
matrix = new Matrix();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
setMeasuredDimension(w, h);
}
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
canvas.drawCircle(w / 2, h / 2, w / 6, mPaintLine);// 小圓
canvas.drawCircle(w / 2, h / 2, 2 * w / 6, mPaintLine);// 中圓
canvas.drawCircle(w / 2, h / 2, 11 * w / 20, mPaintLine);
canvas.drawCircle(w / 2, h / 2, 7 * h / 16, mPaintLine);// 大圓
SweepGradient mShader = new SweepGradient(w / 2, h / 2,
Color.TRANSPARENT, Color.parseColor("#AAAAAAAA"));
mPaintSector.setShader(mShader);
canvas.concat(matrix);
canvas.drawCircle(w / 2, h / 2, 7 * h / 16, mPaintSector);
super.onDraw(canvas);
}
}
activity:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class CustomerRadarViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_customer_radar_view);
}
public void quit(View v){
finish();
}
}
佈局檔案:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.tz.dream.customer.view.RadarView
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_marginTop="15dp"
android:src="@drawable/girl" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="30dp"
android:layout_marginLeft="5dp"
android:background="@drawable/back_selector"
android:paddingBottom="3dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="3dp"
android:text="退出"
android:textColor="#A1A1A1"
android:onClick="quit"/>
</FrameLayout>
整理自原始碼
相關文章
- WPF 製作雷達掃描圖
- Android自定義View 雷達掃描效果AndroidView
- 自定義View 實現多塔機監控類似星軌雷達掃描View
- 雷達氣象相關詞彙(一 掃描模式)模式
- Python自動掃描出微信不是好友名單Python
- JS實現掃雷JS
- java實現掃碼槍-微信支付Java
- Python + Wxpy 實現微信防撤回。Python
- 掃雷--C語言實現C語言
- go語言實現掃雷Go
- Go 實現埠掃描器Go
- GetX 實現類似微信轉發搜尋多選好友
- TWAIN掃描識別控制元件:Web應用程式的掃描器SDKAI控制元件Web
- GO語言 實現埠掃描Go
- canvas 實現雷達圖Canvas
- 微信域名防封系統、微信域名檢測該如何實現
- 微信小程式Tree自定義控制元件實現微信小程式控制元件
- 批次檢測微信單向好友,超實用!
- 微信掃碼登入的技術實現思考
- 微信域名防封API介面實現原理分享API
- 解密微信域名防封API介面實現原理解密API
- 五大方案總結:微信掃描下載APKAPK
- 安全科普:Waf實現掃描器識別 徹底抵擋駭客掃描
- Laravel + Laravel-echo + EasyWeChat 實現微信掃碼登入Laravel
- 微信掃小程式碼實現網頁端登入網頁
- 用Python實現圖片的清晰掃描Python
- 微信群活碼以及微信活碼防封如何實現技術分享
- 使用R語言分析微信好友R語言
- 如何利用Python網路爬蟲抓取微信好友數量以及微信好友的男女比例Python爬蟲
- 利用Python實現自動掃雷小指令碼Python指令碼
- 探秘掃雷遊戲的C語言實現遊戲C語言
- Python3+pygame實現Windows經典掃雷PythonGAMWindows
- 京東掃描平臺EOS—JS掃描落地與實踐JS
- 微信域名防封系統之微信跳轉外部瀏覽器實現方案瀏覽器
- 使用springboot+angular實現web端微信掃碼登陸Spring BootAngularWeb
- 微信小程式掃描普通二維碼開啟小程式的方法微信小程式
- Java 實現OCR掃描/識別圖片文字Java
- 史上最全微信域名防封API原理及實現方案API
- 2020最全微信域名防封API原理及實現方案API