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

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

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

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

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

效果圖如下所示:

這里寫圖片描述

這個界面相信大家都認識,我們來說下原理,其實就三層

這里寫圖片描述

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

這里寫圖片描述

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>

我們新建一個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;
/**
* 雷達搜索
* 
* @author LGL
*
*/
public class RadarView extends View {
/**
* 思路:我們首先初始化畫筆,并且獲取到控件的寬高,在onMeasure()中設(shè)置鋪滿,然后在onDraw()方法中繪制四個靜態(tài)圓和一個漸變圓,
* 我們通過Matrix矩陣來讓他不停的旋轉(zhuǎn)就達到我們想要的效果了
*/
private Paint mPaintLine, mPaintCircle;
private int w, h;
// 動畫
private Matrix matrix;
// 旋轉(zhuǎn)角度
private int start;
// Handler定時動畫
private Handler handler = new Handler();
private Runnable run = new Runnable() {
@Override
public void run() {
start = start + 1;
matrix = new Matrix();
// 參數(shù):旋轉(zhuǎn)角度,圍繞點坐標的x,y坐標點
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();
}
/**
* 測量
* 
* @author LGL
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// 設(shè)置鋪滿
setMeasuredDimension(w, h);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 畫四個圓形
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"));
// 繪制時漸變
mPaintCircle.setShader(mShader);
// 增加旋轉(zhuǎn)動畫,使用矩陣實現(xiàn)
canvas.concat(matrix); // 前置動畫
canvas.drawCircle(w / 2, h / 2, w * 7 / 10, mPaintCircle);
}
}

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

相關(guān)文章

  • Android利用SAX對XML進行增刪改查操作詳解

    Android利用SAX對XML進行增刪改查操作詳解

    在項目中會遇到對于XML的增刪改查,下面這篇文章主要給大家介紹了關(guān)于Android利用SAX對XML進行增刪改查操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧。
    2018-01-01
  • Android神兵利器之Image Asset Studio的實現(xiàn)

    Android神兵利器之Image Asset Studio的實現(xiàn)

    這篇文章主要介紹了Android神兵利器之Image Asset Studio的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-06-06
  • PowerManagerService之自動滅屏流程解析

    PowerManagerService之自動滅屏流程解析

    這篇文章主要為大家介紹了PowerManagerService之自動滅屏流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 如何更改Dialog的標題與按鈕顏色詳解

    如何更改Dialog的標題與按鈕顏色詳解

    這篇文章主要給大家介紹了關(guān)于如何更改Dialog的標題與按鈕顏色的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考借鑒,下面跟著小編來一起學(xué)習學(xué)習吧。
    2017-08-08
  • Android樣式的開發(fā):layer-list實例詳解

    Android樣式的開發(fā):layer-list實例詳解

    本文主要介紹Android樣式開發(fā)layer-list,這里整理了詳細的資料,及簡單示例代碼有興趣的小伙伴可以參考下
    2016-09-09
  • Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程攻略

    Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程攻略

    這篇文章主要介紹了Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程,從圖案的繪制到轉(zhuǎn)盤的控制再到布局,真的非常全面,需要的朋友可以參考下
    2016-04-04
  • Android仿QQ列表左滑刪除操作

    Android仿QQ列表左滑刪除操作

    這篇文章主要為大家詳細介紹了Android仿QQ列表左滑刪除操作的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android沉浸式狀態(tài)欄 + actionBar漸變 + scrollView頂部伸縮效果

    Android沉浸式狀態(tài)欄 + actionBar漸變 + scrollView頂部伸縮效果

    這篇文章主要介紹了Android沉浸式狀態(tài)欄 + actionBar漸變 + scrollView頂部伸縮效果即QQ好友動態(tài)頁面效果,本文通過實例代碼給大家介紹的非常詳細,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-12-12
  • 詳解基于Android的Appium+Python自動化腳本編寫

    詳解基于Android的Appium+Python自動化腳本編寫

    這篇文章主要介紹了詳解基于Android的Appium+Python自動化腳本編寫,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-08-08
  • Android View事件機制 21問21答

    Android View事件機制 21問21答

    這篇文章主要介紹了Android View事件機制 21問21答 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02

最新評論

大理市| 龙州县| 名山县| 池州市| 手游| 班戈县| 济南市| 鲜城| 广昌县| 静宁县| 区。| 白银市| 和平区| 合水县| 华阴市| 汤原县| 吐鲁番市| 博野县| 木兰县| 临泽县| 临漳县| 卫辉市| 咸丰县| 宝山区| 宁德市| 井研县| 米林县| 焉耆| 郎溪县| 贵州省| 九江市| 芮城县| 湟源县| 乌兰察布市| 类乌齐县| 聊城市| 伊宁县| 西丰县| 阿瓦提县| 盘锦市| 古蔺县|