202010-09 android 控件同时监听单击和双击实例 不适用click而用touch自定义监听:classmyOnGestureListenerextendsGestureDetector.SimpleOnGestureListener{@OverridepublicbooleanonDoubleTap(MotionEvente){//点赞mLoadingListener.onFinishedLoading("0");//取消点赞是一个接口//已经点赞更换图片1:已经点赞0:没有点赞if(likeType.equals("1")){StringgetLike=tvLike.getText().toString().trim();intiL=Integer.valueOf(getLike)-1... 继续阅读 >
202010-09 解决Android popupWindow设置背景透明度无效的问题 有的时候当我们使用popwindow时将当前的activity当做View传给其他fragment使用时会导致我们设置背景变暗效果失效,导致这个原因的问题是因为我们传view后当弹出popupwindw的时候已经不再当前的activity了,所以会显示无效因此在设置的时候我们这样处理:publicvoidbackgroundAlpha(floatbgAlpha){//MApp.getInstance().getMainActivity()就是你想要点击时要显示的主activityWindowManager.LayoutParamslp=ActivityB.g... 继续阅读 >
202010-09 解决Android-RecyclerView列表倒计时错乱问题 前言转眼间距离上次写博客已是过了一个年轮,期间发生了不少事;经历了离职、找工作,新公司的第一版项目上线。现在总算是有时间可以将遇到的问题梳理下了,后期有时间也会分享更多的东西~~场景今天分享的问题是当在列表里面显示倒计时,这时候滑动列表会出现时间显示不正常的问题。首先关于倒计时我们需要注意的问题有以下几方面:在RecyclerView中ViewHolder的复用导致的时间乱跳的问题。滑动列表时倒计时会重置的问题。在退出... 继续阅读 >
202010-09 详解Android 进程 多进程如果需要的时候,app可以创建多进程。在进程里面各类组件元素的清单文件条目、、和—均支持android:process属性,此属性可以指定该组件应在哪个进程运行。默认进程就是主进程。其他进程一般来说都是子进程。2个activity在不同的进程里面,可以刷新UI吗?<activityandroid:name=".androidsample.ActivityProgressB"android:process=":progressb"/>测试结果:ActivityProgressB可以正常显示。这个其实很好理解,... 继续阅读 >
202010-09 Android Handler实现闪屏页倒计时代码 我就废话不多说了,大家还是直接看代码吧~packagecom.zjx.todayinfomation;importandroid.os.Handler;publicclassCustomCountDownTimerimplementsRunnable{//1.实时去回调这个时候是什么时间倒计时到几点观察者设计模式//2.支持传入总时间动态传入//3.每过一秒总秒数-1//4.总时间倒计时为0时候回调完成状态privateinttime;//总时间privateintcountDowntime;//倒计时事件privateIcountDownHandler... 继续阅读 >
202010-09 Android封装对原生Log进行封装的操作 我就废话不多说了,大家还是直接看代码吧~packagecom.zjx.taobaounion.utils;importandroid.util.Log;publicclassLogUtils{privatestaticintcurrentLev=4;//当前log等级上线之后控制这个等级就可以减少Log的输出privatestaticfinalintDEBUG_LEV=4;//debug等级privatestaticfinalintINFO_LEV=3;//info等级privatestaticfinalintWARNING_LEV=2;//warning等级privatestaticfinalint... 继续阅读 >
202010-09 Android实现波浪球效果 波浪球的效果一直都是想模仿的对象,在最近一段时间里模仿了这一界面,其实所用知识并不多。1)、波浪的效果是利用三角函数来实现的,在自定义view中创建容量为width的数组,由y=Asin(Kx+T)+H得到每个x相对应的y值,然后存入数组里面。2)、利用Android中Canvas提供的drawLine来从上部向下画线,每个像素上画完线之后就组成了图像。3)、自定义view中的变量都与width建立了比例关系,可以任意大小,且效果一致。4)、分别对y=Asin(... 继续阅读 >
202010-09 Android实现类似ios滑动按钮 IOS的滑动按钮菜单在UI设计里面绝对堪称一绝,在学习了Android的自定义view后,我萌生了模仿它的想法。实现上面的模拟需要自定义一个View;1)、在View的OnDraw里画出圆角矩形,分别为灰色圆角矩形,红色圆角矩形,和绿色圆角矩形。然后计算相应的位置。2)、本例中的宽高比为1:0.65,内部红色矩形尺寸为外部矩形尺寸0.9,内部的圆的半径为外部高的0.45倍。按照这个比例计算相应的坐标。3)、本例中的动画是用ValueAnimation实现的... 继续阅读 >
202010-09 详解基于Android的Appium+Python自动化脚本编写 1.AppiumAppium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试,它使用WebDriver协议驱动iOS,Android和Windows应用程序。通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码。下面开始Appium的配置。appPackage和APPActivity的获取任意下载一个app解压但是解压出来的xml文件可能是乱码,所以我们需要反编译文件。逆向AndroidManifest.xml下载AXMLPri... 继续阅读 >
202010-09 Android Studio 常见问题及解决方法(推荐) 一、Error:Allflavorsmustnowbelongtoanamedflavordimension问题描述:Error:Allflavorsmustnowbelongtoanamedflavordimension.解决办法:应该是因为使用了productFlavors分包,解决方法就是在build.gradle中的defaultConfig中添加一个flavorDimensions"1"就可以了,后面的1一般是跟你的versionCode相同二、com.android.tools.aapt2.Aapt2Exception问题描述:Error:java.util.concurrent.ExecutionException:c... 继续阅读 >
202010-09 Android实现带圆环的圆形头像 在最近写的一个天气APP中用到了圆形头像这样的一个样式,中间是圆形的头像(被圆形切割的图片),周围是一个带颜色的圆环。如下图所示,今天就来说一所它的实现过程。它的实现也不是特别困难,其实就是用到了BitmapShader这个用法,然后包装成一个paint,最后画出一个圆。1>实现一个Paint画出以圆形背景的圆。2>以同样的圆形画出一个稍微小一点的圆,作为它的有色圆环。(此圆和上一个圆颜色不同)。3>用BitmapShader实现一个新的... 继续阅读 >
202010-09 android实现简单圆弧效果 最近项目完成就开始搞一些有用没用的东西,以前面试的时候有人问我那种圆弧效果怎么做,还问我翻牌效果,我只看过,没有做过,现在有空了,而且想到可能会用到就做个简单的圆弧很简单,自定义个View,创建个Paint,设置arcPaint.setStyle(Paint.Style.STROKE)再设置圆弧的宽,再在onDraw内调用canvas.drawArc()就好了现在只做一个带刻度的圆弧和一个开口地方是圆角的圆弧。其他各种效果以后再摸索ArcView.javapublicclassArcView... 继续阅读 >
202010-09 Android 登录页面的实现代码(密码显示隐藏、EditText 图标切换、限制输入长度) 效果演示密码显示与隐藏方法一if(status){etPassword.setInputType(InputType.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL);//显示文本status=false;}else{etPassword.setInputType(InputType.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_PASSWORD);//隐藏文本status=true;}etPassword.setSelection(etPassword.getText().toString().length());//光标调整到文本末端方法二if(status){etPass... 继续阅读 >
202010-09 Android 阿里云OSS文件上传的实现示例 估计有小伙伴看到阿里云oss的api文档十脸懵逼了,啊哈哈哈,接下来博主就来拯救你了,看完觉得好的就关注博主吧,么么么么么哒!!!想要自己研究阿里云oss的,博主开启传送门给你:阿里云oss一、项目导入阿里云oss的SDK方式1:在build文件添加依赖(博主和官方一致推荐)dependencies{//阿里云ossimplementation'com.aliyun.dpa:oss-android-sdk:+'}方式2:源码编译jar包源码传送门:官方阿里云oss源码二、OSS所需要的Andr... 继续阅读 >
202010-09 详解Android项目多服务端接口适配(超简单) 现状Android项目如果是多服务端接口时,一般怎么弄呢?方法1:服务器地址放在Header中把服务器地址放在接口Header中,然后通过拦截器来动态修改请求地址而实现的。除了默认服务器的接口,其它都要加一个Header,有点麻烦。看起来也不爽,不简洁。interfaceApiHeaderCase{/**************************serverA****************************/@Headers("host:$SERVER_HOST_A")@GET("user/loginWithScanCode")funaMethod1... 继续阅读 >
202010-09 简单了解Android性能优化方向及相关工具 开发一款性能优良的应用是每一个Android开发者都必须经历的挑战。在移动端资源有限的前提下,提高应用的性能显得尤为重要。常见的提高APP性能的优化方向有三个:布局和渲染优化、内存优化、功耗优化。一:布局优化所谓布局优化,就是尽量减少布局的嵌套层级,减少无用的布局。主要的优化方法有:(1)优先使用RelativeLayout来减少布局嵌套层数,否则尽量使用LinearLayout。这是因为RelativeLayout能够在不嵌套的情况下完成复杂的... 继续阅读 >