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

Android仿微信雷達(dá)輻射搜索好友(邏輯清晰實(shí)現(xiàn)簡(jiǎn)單)

 更新時(shí)間:2016年02月14日 12:03:07   作者:劉某人程序員  
仿微信雷達(dá)掃描,仿安卓微信、云播雷達(dá)掃描動(dòng)畫(huà)效果點(diǎn)擊中間的黑色圓圈開(kāi)始掃描動(dòng)畫(huà),再次點(diǎn)擊復(fù)位,需要這種效果的朋友可以自己下載看一下

不知不覺(jué)這個(gè)春節(jié)也已經(jīng)過(guò)完了,遺憾家里沒(méi)網(wǎng),沒(méi)能及時(shí)給大家送上祝福,今天回到深圳,明天就要上班了,小伙伴們是不是和我一樣呢?今天講的是一個(gè)大家都見(jiàn)過(guò)的動(dòng)畫(huà),雷達(dá)搜索好友嘛,原理也十分的簡(jiǎn)單,你看完我的分析,也會(huì)覺(jué)得很簡(jiǎn)單了,國(guó)際慣例,無(wú)圖無(wú)真相,我們先看看效果圖,對(duì)了,真
測(cè)試機(jī)送人了,所講這段時(shí)間應(yīng)該一直用模擬器顯示吧!

仿微信雷達(dá)掃描,仿安卓微信、云播雷達(dá)掃描動(dòng)畫(huà)效果點(diǎn)擊中間的黑色圓圈開(kāi)始掃描動(dòng)畫(huà),再次點(diǎn)擊復(fù)位,需要這種效果的朋友可以自己下載看一下。

效果圖如下所示:

這里寫(xiě)圖片描述

這個(gè)界面相信大家都認(rèn)識(shí),我們來(lái)說(shuō)下原理,其實(shí)就三層

這里寫(xiě)圖片描述

中間是一張圖片,然后畫(huà)四個(gè)圓,這個(gè)應(yīng)該簡(jiǎn)單吧,不會(huì)的可以看下Android繪圖機(jī)制(二)——自定義View繪制形, 圓形, 三角形, 扇形, 橢圓, 曲線,文字和圖片的坐標(biāo)講解,然后最上面就是一個(gè)漸變的圓了,這個(gè)圓我們只要讓他不停的旋轉(zhuǎn)就可以了,那我們新建一個(gè)工程——RadarSearch

這里寫(xiě)圖片描述

layou_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/photo" >
<com.lgl.radarsearch.RadarView
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/circle_photo" />
</RelativeLayout>

我們新建一個(gè)RadarView

RadarView
package com.lgl.radarsearch;
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.os.Handler;
import android.util.AttributeSet;
import android.view.View;
/**
* 雷達(dá)搜索
* 
* @author LGL
*
*/
public class RadarView extends View {
/**
* 思路:我們首先初始化畫(huà)筆,并且獲取到控件的寬高,在onMeasure()中設(shè)置鋪滿,然后在onDraw()方法中繪制四個(gè)靜態(tài)圓和一個(gè)漸變圓,
* 我們通過(guò)Matrix矩陣來(lái)讓他不停的旋轉(zhuǎn)就達(dá)到我們想要的效果了
*/
private Paint mPaintLine, mPaintCircle;
private int w, h;
// 動(dòng)畫(huà)
private Matrix matrix;
// 旋轉(zhuǎn)角度
private int start;
// Handler定時(shí)動(dòng)畫(huà)
private Handler handler = new Handler();
private Runnable run = new Runnable() {
@Override
public void run() {
start = start + 1;
matrix = new Matrix();
// 參數(shù):旋轉(zhuǎn)角度,圍繞點(diǎn)坐標(biāo)的x,y坐標(biāo)點(diǎn)
matrix.postRotate(start, w / 2, h / 2);
// 刷新重繪
RadarView.this.invalidate();
// 繼續(xù)循環(huán)
handler.postDelayed(run, 60);
}
};
public RadarView(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
// 獲取高寬
w = context.getResources().getDisplayMetrics().widthPixels;
h = context.getResources().getDisplayMetrics().heightPixels;
// 一致旋轉(zhuǎn)
handler.post(run);
}
private void initView() {
mPaintLine = new Paint();
mPaintLine.setColor(Color.WHITE);
mPaintLine.setAntiAlias(true);
mPaintLine.setStyle(Style.STROKE);
mPaintCircle = new Paint();
mPaintCircle.setColor(Color.RED);
mPaintCircle.setAntiAlias(true);
matrix = new Matrix();
}
/**
* 測(cè)量
* 
* @author LGL
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// 設(shè)置鋪滿
setMeasuredDimension(w, h);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 畫(huà)四個(gè)圓形
canvas.drawCircle(w / 2, h / 2, w / 2, mPaintLine);
canvas.drawCircle(w / 2, h / 2, w / 3, mPaintLine);
canvas.drawCircle(w / 2, h / 2, w * 7 / 10, mPaintLine);
canvas.drawCircle(w / 2, h / 2, w / 4, mPaintLine);
// 繪制漸變圓
Shader mShader = new SweepGradient(w / 2, h / 2, Color.TRANSPARENT,
Color.parseColor("#AAAAAAAA"));
// 繪制時(shí)漸變
mPaintCircle.setShader(mShader);
// 增加旋轉(zhuǎn)動(dòng)畫(huà),使用矩陣實(shí)現(xiàn)
canvas.concat(matrix); // 前置動(dòng)畫(huà)
canvas.drawCircle(w / 2, h / 2, w * 7 / 10, mPaintCircle);
}
}

以上所述是小編給大家介紹的Android仿微信雷達(dá)輻射搜索好友(邏輯清晰實(shí)現(xiàn)簡(jiǎn)單)的相關(guān)知識(shí),希望對(duì)大家有所幫助。

相關(guān)文章

  • Android RIL使用詳解

    Android RIL使用詳解

    這篇文章主要介紹了Android RIL使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Android廣播機(jī)制原理與開(kāi)發(fā)

    Android廣播機(jī)制原理與開(kāi)發(fā)

    Android廣播機(jī)制就是在Android中,有一些操作完成以后,會(huì)發(fā)送廣播,比如說(shuō)發(fā)出一條短信,或打出一個(gè)電話,如果某個(gè)程序接收了這個(gè)廣播,就會(huì)做相應(yīng)的處理
    2023-02-02
  • Android實(shí)現(xiàn)簡(jiǎn)單下拉篩選框

    Android實(shí)現(xiàn)簡(jiǎn)單下拉篩選框

    這篇文章主要為大家詳細(xì)介紹了一款簡(jiǎn)單靈活的Android下拉篩選框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Android自動(dòng)攔截與接聽(tīng)功能APK黑白名單

    Android自動(dòng)攔截與接聽(tīng)功能APK黑白名單

    大家好,本篇文章主要講的是Android自動(dòng)攔截與接聽(tīng)功能APK黑白名單,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2021-12-12
  • Android使用android-wheel實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)

    Android使用android-wheel實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)

    這篇文章主要為大家詳細(xì)介紹了Android使用android-wheel實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • RecyclerView進(jìn)階:使用ItemTouchHelper實(shí)現(xiàn)拖拽和側(cè)滑刪除效果

    RecyclerView進(jìn)階:使用ItemTouchHelper實(shí)現(xiàn)拖拽和側(cè)滑刪除效果

    現(xiàn)在RecyclerView的應(yīng)用越來(lái)越廣泛了,本篇文章主要介紹了RecyclerView進(jìn)階:使用ItemTouchHelper實(shí)現(xiàn)拖拽和側(cè)滑刪除效果,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-02-02
  • Flutter 狀態(tài)管理scoped model源碼解讀

    Flutter 狀態(tài)管理scoped model源碼解讀

    這篇文章主要為大家介紹了Flutter 狀態(tài)管理scoped model源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Filter過(guò)濾器和Listener監(jiān)聽(tīng)器詳解

    Filter過(guò)濾器和Listener監(jiān)聽(tīng)器詳解

    這篇文章主要介紹了 Filter過(guò)濾器和Listener監(jiān)聽(tīng)器詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Android控件ListView使用方法詳解

    Android控件ListView使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Android控件ListView的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android O添加桌面快捷方式的示例

    Android O添加桌面快捷方式的示例

    本篇文章主要介紹了AndroidO添加桌面快捷方式的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01

最新評(píng)論