废话不多说 先上图(用AS录制的 转换工具不是很好 所以看得效果不是很好)

gif5新文件.gif

Activity 代码

public class ShapeDrawableActivity extends AppCompatActivity {

private ImageView ivLightbeam;

private ObjectAnimator radarScanAnim; // 扫描动画

private int width;

private int height;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_shape_drawable);

ivLightbeam = (ImageView) findViewById(R.id.ivLightbeam);

}

@Override

protected void onResume() {

super.onResume();

startScan();

}

@Override

public void onWindowFocusChanged(boolean hasFocus) {

super.onWindowFocusChanged(hasFocus);

if (height == 0 || width == 0) { //获取屏幕长、宽

width = ScreenUtils.getScreenWidth(this);

height = ScreenUtils.getScreenHeight(this); //根据屏幕长、宽计算扫描圆的直径

int diameter = (int) Math.sqrt(Math.pow(height, 2) + Math.pow(width, 2)); //修改光束的大小,使光束可以扫描到整个屏幕

FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(diameter, diameter);

ivLightbeam.setLayoutParams(layoutParams); //将扫描光束的中心移至屏幕内容中心

int offsetX = (width - diameter) / 2;

int offsetY = (height - diameter) / 2 + ScreenUtils.getStatusHeight(this) / 2;

ivLightbeam.setX(offsetX);

ivLightbeam.setY(offsetY);

}

}

@Override

protected void onPause() {

super.onPause();

stopScan();

} // 开始扫描

private void startScan() {

radarScanAnim = ObjectAnimator.ofFloat(ivLightbeam, "rotation", 0f, 360f);

radarScanAnim.setDuration(2000); //2秒扫描一圈

radarScanAnim.setInterpolator(new LinearInterpolator());

radarScanAnim.setRepeatCount(ObjectAnimator.INFINITE);//循环扫描

ivLightbeam.setVisibility(View.VISIBLE);

radarScanAnim.start();

} // 停止扫描

private void stopScan() {

ivLightbeam.setVisibility(View.GONE);

radarScanAnim.end();

}

}

Activity 布局文件

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#FA000000"

android:clipToPadding="false"

android:fitsSystemWindows="true">

android:id="@+id/ivWave"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="5dp"

android:src="@drawable/wave" />

android:id="@+id/ivLightbeam"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:src="@drawable/light_beam" />

绘制扫描光束

xmlns:android="http://schemas.android.com/apk/res/android"

android:shape="oval">

android:width="500dp"

android:height="500dp" />

android:endColor="#AAAAAAAA"

android:startColor="#00000000"

android:type="sweep"

/>

绘制雷达波纹

android:width="600dp"

android:height="600dp" />

android:color="#10B8B8B8"

android:dashWidth="1dp" />

android:bottom="100dp"

android:left="100dp"

android:right="100dp"

android:top="100dp">

android:color="#1CB8B8B8"

android:dashWidth="1dp" />

android:bottom="200dp"

android:left="200dp"

android:right="200dp"

android:top="200dp">

android:color="#2CB8B8B8"

android:dashWidth="1dp" />

雷达扫描定位 android,Android仿微信雷达扫描相关推荐

  1. android 辐射动画_Android仿微信雷达辐射搜索好友(逻辑清晰实现简单)

    不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今天讲的是一个大家都见过的动画,雷达搜索好友嘛,原理也十分的简单,你看完我的 ...

  2. android仿微信图片上传进度,android高仿微信发布动态(选择图片)

    [实例简介]Android 超高仿微信图片选择器 [实例截图] [核心代码] public class MainActivity extends Activity implements OnImage ...

  3. android+高仿视频录制,android高仿微信视频编辑页

    android高仿微信视频编辑页-视频多张图片提取 上一篇中介绍了有关视频提取图片的知识点,如果对这个不太了解 建议看下android提取视频多张图片和视频信息之前这篇. 这里实现的是仿微信的视频编辑 ...

  4. php支付密码控件,Android高仿微信支付密码输入控件实例代码

    这篇文章主要为大家详细介绍了Android高仿微信支付密码输入控件的具体实现代码,供大家参考,具体内容如下 像微信支付密码控件,在app中是一个多么司空见惯的功能.最近,项目需要这个功能,于是乎就实现 ...

  5. android高仿微信视频编辑页-视频多张图片提取

    android高仿微信视频编辑页-视频多张图片提取 上一篇中介绍了有关视频提取图片的知识点,如果对这个不太了解 建议看下android提取视频多张图片和视频信息之前这篇. 这里实现的是仿微信的视频编辑 ...

  6. android仿微信聊天功能,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  7. android 微信高仿,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  8. android com.mylhyl,Android 高仿微信朋友圈拍照上传功能

    模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. photopicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...

  9. Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右滑动,5.长按保存到手机)的功能

    一.测试 实现: 二.添加依赖包: implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.recycl ...

  10. android高仿微信聊天页面,Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)

    目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...

最新文章

  1. 【SQL】sql语句GROUP BY
  2. 日志OLAP:在SQL中使用UDF, lambda函数使用案例
  3. 雾计算精华问答 | 雾计算与云计算的区别?
  4. 乌班图linux怎么连手机热点,使用Ubuntu12.04创建无线WiFi热点供手机上网
  5. back(返回)键总结
  6. js继承实现 狗类继承动物类
  7. php echo nbsp,关于include里面的函数echo的问题
  8. Python命令行参数
  9. linux emacs 快捷键,emacs常用快捷键
  10. BZOJ 1006: [HNOI2008]神奇的国度( MCS )
  11. Windows个人常用软件推荐
  12. 批判性思维_通过批判性反思评估可视化创作系统
  13. 使用云服务器的几个安全防护技巧
  14. 机器学习实战之信用卡诈骗(一)
  15. 某电商网站销售python图书_手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取...
  16. Android传感器、语音识别、定位系统、Google Map API、快捷方式、widget编程总结及示例
  17. libvirt零知识学习6 —— libvirt源码编译安装(4)
  18. 2023年4月中国数据库排行榜:达梦厚积薄发夺探花,亚信、星环勇毅笃行有突破
  19. Qt5生成Word格式报告
  20. 神武可以同时登陆服务器账号吗,解读新系统神武账号仓库 同号共用仓库

热门文章

  1. 错误0x800700E1:无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。
  2. 用Python来玩微信小游戏跳一跳
  3. MIT5K数据集的使用
  4. 镁光256Gb NAND Flash芯片介绍
  5. 第六周组会摘要工作计划与分工
  6. charles抓包电脑微信小程序
  7. 构建栅格地图matlab代码
  8. php 怎么验证邮箱验证码,PHP实现邮箱验证码验证功能
  9. 光猫,路由器,机顶盒的区别
  10. 048python写字笔画顺序识别检测笔顺是否有误检测