雷达扫描定位 android,Android仿微信雷达扫描
废话不多说 先上图(用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仿微信雷达扫描相关推荐
- android 辐射动画_Android仿微信雷达辐射搜索好友(逻辑清晰实现简单)
不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今天讲的是一个大家都见过的动画,雷达搜索好友嘛,原理也十分的简单,你看完我的 ...
- android仿微信图片上传进度,android高仿微信发布动态(选择图片)
[实例简介]Android 超高仿微信图片选择器 [实例截图] [核心代码] public class MainActivity extends Activity implements OnImage ...
- android+高仿视频录制,android高仿微信视频编辑页
android高仿微信视频编辑页-视频多张图片提取 上一篇中介绍了有关视频提取图片的知识点,如果对这个不太了解 建议看下android提取视频多张图片和视频信息之前这篇. 这里实现的是仿微信的视频编辑 ...
- php支付密码控件,Android高仿微信支付密码输入控件实例代码
这篇文章主要为大家详细介绍了Android高仿微信支付密码输入控件的具体实现代码,供大家参考,具体内容如下 像微信支付密码控件,在app中是一个多么司空见惯的功能.最近,项目需要这个功能,于是乎就实现 ...
- android高仿微信视频编辑页-视频多张图片提取
android高仿微信视频编辑页-视频多张图片提取 上一篇中介绍了有关视频提取图片的知识点,如果对这个不太了解 建议看下android提取视频多张图片和视频信息之前这篇. 这里实现的是仿微信的视频编辑 ...
- android仿微信聊天功能,Android高仿微信聊天界面代码分享
微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...
- android 微信高仿,Android高仿微信聊天界面代码分享
微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...
- android com.mylhyl,Android 高仿微信朋友圈拍照上传功能
模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. photopicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...
- Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右滑动,5.长按保存到手机)的功能
一.测试 实现: 二.添加依赖包: implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.recycl ...
- android高仿微信聊天页面,Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)
目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...
最新文章
- 【SQL】sql语句GROUP BY
- 日志OLAP:在SQL中使用UDF, lambda函数使用案例
- 雾计算精华问答 | 雾计算与云计算的区别?
- 乌班图linux怎么连手机热点,使用Ubuntu12.04创建无线WiFi热点供手机上网
- back(返回)键总结
- js继承实现 狗类继承动物类
- php echo nbsp,关于include里面的函数echo的问题
- Python命令行参数
- linux emacs 快捷键,emacs常用快捷键
- BZOJ 1006: [HNOI2008]神奇的国度( MCS )
- Windows个人常用软件推荐
- 批判性思维_通过批判性反思评估可视化创作系统
- 使用云服务器的几个安全防护技巧
- 机器学习实战之信用卡诈骗(一)
- 某电商网站销售python图书_手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取...
- Android传感器、语音识别、定位系统、Google Map API、快捷方式、widget编程总结及示例
- libvirt零知识学习6 —— libvirt源码编译安装(4)
- 2023年4月中国数据库排行榜:达梦厚积薄发夺探花,亚信、星环勇毅笃行有突破
- Qt5生成Word格式报告
- 神武可以同时登陆服务器账号吗,解读新系统神武账号仓库 同号共用仓库