202010-08 Android自定义控件之圆形进度条动画 本文实例为大家分享了Android实现圆形进度条动画的具体代码,供大家参考,具体内容如下首先贴上图片:额,感觉还行吧,就是进度条的颜色丑了点,不过咱是程序员,不是美工,配色这种问题当然不在考虑范围之内了。下面说重点,如何来写一个这样的自定义控件。首先,需要有一个灰色的底图,来作为未填充时的进度条;然后,根据传入的当前进度值,绘制填充时的进度圆弧,这段圆弧所对应的圆心角,由当前进度与进度的最大值(一般是100... 继续阅读 >
202010-08 Android实现强制下线功能的示例代码 一、回顾上次连载写了两个类,一个类ActivityCollector.java用于管理所有的活动;一个类是BaseActivity.java作为所有活动的父类;还有一个放在layout目录中的登录界面login.xml二、登录页面的活动接下来写一个登录页面的活动,继承自BaseActivity.javapackagecom.example.broadcastbestpractice;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandro... 继续阅读 >
202010-08 在Android中使用WebSocket实现消息通信的方法详解 前言消息推送功能可以说移动APP不可缺少的功能之一,一般简单的推送我们可以使用第三方推送的SDK,比如极光推送、信鸽推送等,但是对于消息聊天这种及时性有要求的或者三方推送不满足业务需求的,我们就需要使用WebSocket实现消息推送功能。基本流程WebSocket是什么,这里就不做介绍了,我们这里使用的开源框架是https://github.com/TakahikoKawasaki/nv-websocket-client基于开源协议我们封装实现WebSocket的连接、注册、心跳、消... 继续阅读 >
202010-08 Android 进度条自动前进效果的实现代码 今天给大家分享进度条自动前进功能的实现,先给大家分享实现效果图,感觉不错可以参考实现代码。效果如下图:首先布局要设置进度条最大值:<ProgressBarandroid:id="@+id/pro1"style="@android:style/Widget.ProgressBar.Horizontal"android:layout_width="400dp"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:progressDrawable="@drawable/jian"//渐变android:max=... 继续阅读 >
202010-08 Android Jetpack架构组件Lifecycle详解 前言Lifecycle是Jetpack架构组件中用来感知生命周期的组件,使用Lifecycles可以帮助我们写出和生命周期相关更简洁更易维护的代码。生命周期生命周期这个简单而又重要的知识相信大家早已耳熟能详。假设我们现在有这样一个简单需求:这个需求只是一个实例,在真实的开发中当然不可能有这样的需要:在Activity可见的时候,我们去做一个计数功能,每隔一秒将计数加1,当Activity不可见的时候停止计数,当Activity被销毁的时候将计数... 继续阅读 >
202010-08 Android Jetpack架构组件Lifecycle详解 前言Lifecycle是Jetpack架构组件中用来感知生命周期的组件,使用Lifecycles可以帮助我们写出和生命周期相关更简洁更易维护的代码。生命周期生命周期这个简单而又重要的知识相信大家早已耳熟能详。假设我们现在有这样一个简单需求:这个需求只是一个实例,在真实的开发中当然不可能有这样的需要:在Activity可见的时候,我们去做一个计数功能,每隔一秒将计数加1,当Activity不可见的时候停止计数,当Activity被销毁的时候将计数... 继续阅读 >
202010-08 Android Jetpack架构组件 ViewModel详解 前言前面两篇文章我们已经学习了Lifecycle和DataBind,本篇文章我们来学习Jetpack系列中比较重要的ViewModel,Jetpack的很多很多组件都是搭配使用的,所以单独的知识点可能会有些”无意义“但却是我们项目实战的基础!ViewModel的使用ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续存在。这句话很好理解,还记得我们在讲解Lifecycle的时候举的例子吗,我们还是... 继续阅读 >
202010-08 Android之RecycleView实现指定范围的拖动效果 1问题在RecycleView里面实现指定位置的拖动效果,(这里是实现线性布局的,不是网格布局的)@OverridepublicbooleanonMove(RecyclerViewrecyclerView,RecyclerView.ViewHolderviewHolder,RecyclerView.ViewHoldertarget){Log.i(TAG,"onMoveviewHolder.getAdapterPosition()is:"+viewHolder.getAdapterPosition());intitemViewType=viewHolder.getAdapterPosition();Log.i(TAG,"onMove-----------... 继续阅读 >
202010-08 Android 使用 Scroller 实现平滑滚动功能的示例代码 记录使用Scroller实现平滑滚动,效果图如下:一、自定义View中实现View的平滑滚动publicclassScrollerViewextendsView{privateScrollermScroller;privatePaintmPaint;/***屏幕拖动最小像素*/privateintmTouchSlop;/***View宽度*/privateintwidth;/***View高度*/privateintheight;/***MotionEvent.getX()*/privateintmEventX;/***MotionEvent.getY()*/privateintmEventY;... 继续阅读 >
202010-08 Android 本地广播和强制下线功能的实现代码 一、使用本地广播1.本地广播一个举例packagecom.example.broadcasttest2;importandroid.app.Activity;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.net.ConnectivityManager;importandroid.net.NetworkInfo;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.v... 继续阅读 >
202010-08 Android 本地广播和强制下线功能的实现代码 一、使用本地广播1.本地广播一个举例packagecom.example.broadcasttest2;importandroid.app.Activity;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.net.ConnectivityManager;importandroid.net.NetworkInfo;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.v... 继续阅读 >
202010-08 Android仿优酷视频的悬浮窗播放效果 之前接了需求要让视频播放时可以像优酷视频那样在悬浮窗里播放,并且悬浮窗和主播放页面之间要实现无缝切换,项目中使用的是自封装的ijkplayer这个要求就代表不能在悬浮窗中新建视频控件,所以需要在悬浮窗中复用主页面的视频控件,以达到无缝衔接的效果。主页面对应的视频控件的父view<FrameLayoutandroid:id="@+id/vw_live"android:layout_width="match_parent"android:layout_height="match_parent"and... 继续阅读 >
202010-08 Android studio 切换flutterSDK之后报错及解决办法(推荐) Windows系统上面修改了fluttersdk的环境变量地址之后Androidstudio上面运行flutter项目就会报错类似于:CouldnotreadscriptXXX\flutter.gradle'asitdoesnotexist.还有这样:flutter:Warning!The‘flutter'toolyouarecurrentlyrunningisfromadifferentFlutterrepository解决办法:1.首先把settings里面的fluttersdk里面的路径改成现在最新的路径然后运行依旧会报错2.看看错误,是这里,找不到那个文件点击... 继续阅读 >
202010-08 Android自定义控制条效果 本文实例为大家分享了Android自定义控制条效果的具体代码,供大家参考,具体内容如下ControlBar自定义一个可以调节大小的控件,可以根据宽高来指定控制条方向。当width>=heigth时,为横向控制条,否则为竖向控制条onMeasure根据用户给定的width与height计算控制条的坐标。1.主要的计算思路先计算横向的的坐标点,竖向的坐标点即横向的逆时针旋转90度再向下移一个heigth的长度。//横向坐标点mHorLArcFirstPathX=mRadius+mLArc... 继续阅读 >
202010-08 android实现常驻通知栏遇到的问题及解决办法 实现常驻通知栏时遇到的问题:无论如何就是不显示通知,查看日志发现貌似报错了:2020-06-2814:11:34.9236387-6387/xxxE/CrashReport:android.app.RemoteServiceException:Badnotificationpostedfrompackagexxx:Couldn'tinflatecontentViewsandroid.view.InflateException:BinaryXMLfileline#2:BinaryXMLfileline#2:Errorinflatingclassandroid.support.constraint.ConstraintLayout ... 继续阅读 >
202010-08 Android 基础入门教程——开发环境搭建 现在主流的Android开发环境有:Eclipse+ADT+SDKAndroidStudio+SDKIntelliJIDEA+SDK现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到AndroidStudio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲AndroidStudio着手;而且很多优秀的开源项目都是基于AndroidStudio!当然,在本... 继续阅读 >