自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Android仿饿了么加减控件,带滚动淡化效果。

Android仿饿了么加减控件,带滚动淡化效果。

2022-08-23 15:23:25 751 1

原创 Android仿交通银行安全键盘,可进行按压预览,根据键位展示不同的预览布局背景。

啥也憋说了,先上图,可以看到共有三种键盘布局: 字母键盘,符号键盘,数字键盘。我就说下我碰到的两个棘手的问题吧1、手指在按压不放滑动过程中,预览布局内容跟随键位切换。解决:通过自定义view的onTouchEvent()方法进行move事件的拦截。修改返回值就可以。当时还想了好半天,没想到就一个返回值的事。事件分发还是得搞明白。2、在按压最左和最右的位置,预览布局背景切换。解决:因为这个预览背景在布局文件就已经设置好了,想要修改预览背景图,KeyBoardView并没有提供.

2021-12-30 12:33:43 3665 2

原创 腾讯开放平台 应用认领命令行

今天app上传应用宝,使用公司账号注册了一下,当我把apk传上去的时候,弹出这个提示,显示这个app已经被上传过了,很纳闷,也不知道谁上传的,问了都说没传,只能认领到公司账号下了。然后点击认领应用开始一步步操作。认领主要就是下载一个官方提供的一个未签名的apk,然后用自己的app的密钥和别名对其进行签名,然后把签名成功的apk上传上去,等待官方审核成功之后,就认领成功了。最重要的就是第三步,对apk进行签名。腾讯开放平台下面的那段说明我没看懂,不知所云,然后就百度了一会,找到一个说明详细的博客,

2020-10-24 17:33:09 1067

原创 Android软键盘和底部面板的无缝切换

开局就是二张图。先看效果是不是自己想要的,然后再慢慢往下看。第一张图是默认高度,第二张图是高度增加之后的变化。可以看到,切换还是蛮顺畅的,没有出现跳闪的情况。 这两天在弄一个留言板功能,可进行文字、语音、图片还有其他功能的留言。这时就需要一个面板来存放这些附加功能。一般都是输入框旁边有个加号,来进行面板的弹出。但是我当我底部面板出现时,会出现跳闪问题,就是面板和输入框会被软键盘顶到上面去,然后等软键盘...

2020-05-14 15:43:41 1299 2

原创 Android使用Intent跳转到apk安装界面,并实现7.0、8.0的兼容。

公司的app都是托管到蒲公英上的,最近看蒲公英的crash日志,好多错都是关于更新功能的,我用的手机是android9.0的,并没有出现这种情况,但我看一些出错的机型基本都是android10的手机,公司连一个测试机都没有,我平时都用的自己的手机做测试,但总得解决然后测试啊,然后就在模拟器上创了个10.0的虚拟器,还特么打不开。听说Android11也要出来了,我的妈呀,迭代的速度太...

2020-04-27 11:56:44 2235

原创 类似微信右上角加号popupWindow显示,并显示背景阴影

先看效果图popupwindow相信大家在项目中都遇到过,但有几个点我想跟大家分享一下,1.popupwindow阴影背景的显示和消失2.popupwindow的显示位置的调整3.popupwindow的显示和隐藏动画针对阴影背景我也是从网上找的解决方案,粘出代码,直接拿来用, private void setWindowBg(float bgAlpha) {...

2020-04-10 16:10:16 579

原创 Android 自定义View——下载成功

先看效果这个效果主要是由5个部分组成的,①竖线不断缩短变成小圆点,向下箭头一直存在②向下箭头逐渐变成水平直线,小圆点一直存在③小圆点逐渐上升到一定高度,水平直线一直存在④绘制圆圈⑤绘制对勾需要注意的地方是,淡色的圆圈从头到尾都是一直存在的④和⑤主要是通过PathMeasure来实现的,这里有一个PathMeasure,简单点说,就是用来实现Path坐标点的追...

2019-03-29 10:19:30 278 2

原创 Android仿小米时钟

最近在学自定义View,看到小米时钟这个效果,很想去了解一下是界面是如何绘制以及秒针,分针,时针是如何转动的,还有那个弧形颜色渐变效果。这是我参照Github上的效果弄的,Github地址:高仿小米时钟首先看一下效果图,直接看代码,说明注释已添加。package com.example.threeversionasproject.widget;import android....

2019-03-21 11:56:15 650

原创 类似滴滴打车司机端滑动开始接单SlideView

开局一张图,先看看是不是想要的效果没错,今天就要实现这种效果,首先,可以看出来,这个效果是由两部分组成的,滑动的view以及背景view.重点就是滑动的View,并且分两种情况,当滑动距离超过一半时,则顺势滑下去,没有超过一半,则回弹到初始位置。对于View跟随手势去滑动,当然是ViewDragHelper是比较合适的。我对这个类我也是第一次用,里面还有很多东西没有理解,只是简单的去运...

2019-01-04 23:55:55 2900

原创 RecyclerView分组显示可实现粘性头部,并且在滑动过程中头部字体颜色产生渐变

废话不多说,先上图,左边图是一个RecyclerView就可实现,右边图是RecyclerView(LinearLayouManager)嵌套RecyclerView(GridLayouManager)来实现          刚开始我是先实现的粘性头部,但是我看到微信(IOS)的联系人列表在滑动的过程中头部的字体颜色会产生渐变,然后就也想实现这种效果(主要近段时间没啥任务,闲),经过一番...

2019-01-03 17:03:56 779 2

原创 Activity中Fragment重叠问题

  图1                         图2先简单说一下我碰到的问题,图1是我的主界面,采用底部导航+FrameLayout来实现Fragment的切换,当app在某一个界面崩溃后,回到了主界面,就出现了Fragment重叠问题,如图2。  因为我之前还有一个项目也是采用的底部导航+FrameLayout,但当初我在开发的时候并没有碰到这种bug,所以打开之前开发的那个app...

2018-12-07 17:23:48 821 1

原创 RecyclerView带有动画的多条目删除

先看一张效果图,这个删除动画用的是RecyclerView默认的。按照一般的基本思路,肯定是首先对数据源进行for循环,如果这个条目被选中,则进行删除。这是我刚开始的代码片段。for (int i = 0; i < mDatas.size(); i++) { Patient patient = mDatas.get(i); if (patient.i...

2018-11-12 14:48:23 924

原创 TabLayout小结

TabLayout+Fragment 如果Fragment界面基本一致的话,就可以复用一个Fragment基本代码如下:public void initView() { fm=getSupportFragmentManager(); //获得fragment管理者 tabLayout = (TabLayout) findViewById(R.id.activit...

2018-07-09 16:20:20 232

原创 Android中BaseActivity的简单使用,可以切换无数据、网络错误的界面

        一般来说,项目中都会有多个Activity或者Fragment,每个界面都会有一些相同的地方,比如标题栏、无数据界面、网络错误界面,每个界面都写就会显得很重复,也不便于维护。所以这个时候就有必要写一个基类来进行封装,也就是BaseActivity或者BaseFragment先看一下效果  无数据和网络错误的情况。对于上边的标题栏,可能有多种情况,有标题栏,无标题栏,是否...

2018-06-17 17:27:41 4207 6

原创 Activity和Fragmen利用接口回调互相传递数据

第一种:Fragment对Activity传递数据首先上张Gif图,看起来直观一点,直入主题。自己手机录屏然后转的Gif图。可以看出,通过点击InfoFragment界面的按钮来实现activity底部导航栏(这里我用的BottomNavigationBar)数字的更新。InfoFragment.java主要代码 int num = 0; public Inf...

2018-05-31 17:30:18 1783

原创 AndroidStudio通过配置gradle实现自动签名,方便某些功能在签名打包后才能看到,像微信分享之类的。

在用Mob做三方分享时, 微信的好友分享  只有你对app进行签名打包后才可以正常使用。比较麻烦,为了这一个功能需要打包签名后才能使用。这里我提供一位博主的做法,原文链接:https://www.cnblogs.com/liundev/p/5532015.html这个博客里面已经说的比较详细了,我在补充一下当已经在build.gradle中配置好之后,在右侧的Gradle菜单栏中,双击红框中的选项...

2018-05-28 14:59:32 328

原创 AndroidStudio生成MD5、SHA1

做微信分享时微信开放平台会向你要应用签名,其实就是MD5。百度了一些博客,这里主要有两种方法,做一个简单的记录。第一种:直接在AS中进行获取。1.如果项目还没有打包签名,先进行打包签名,这一步就不多做叙述了,签名完成后会生成一个jks文件,我一般会放在app目录下。2.在底部菜单栏打开Terminal(adb的命令行)首先需要切换到刚才生成  jks  所存在的目录,和cmd一样的做法。切换好之后...

2018-05-28 14:39:34 3242

原创 Android Studio 3.0.1版本打开项目以及输入法显示不出来,光标卡顿出现的一些问题

由于要团队开发项目,也就两个人。肯定要用到版本控制,目前公司用的是SVN,上篇博客有写到,这是链接。链接:使用AndroidStudio进行SVN版本控制—代码上传但前提AS版本得一致,防止开发过程中出现一些不必要的错误。我之前用的是as2.3.3,但没有直接在上面更新,而是重新下载3.0.1的安装包,用的以前的风格和主题,装好之后同步项目的时候出现了一些依赖库无法下载,所以使用了镜像,下面是链接...

2018-04-12 14:56:46 273

原创 使用AndroidStudio进行SVN版本控制—代码上传

AndroidStudio使用svn进行版本控制,自己做个总结,方便以后查看使用。第一步:安装TortoiseSVNAndroidStudio只能通过关联TortoiseSVN客户端才可以使用,需要特别注意的是安装TortoiseSVN时必须安装command line 功能,只有安装带有 command line 功能的 SVN 客户端,AndroidStudio才能使用弹出框点击第二个下拉框c...

2018-04-11 11:03:21 655

转载 Lru算法—便于理解

假设 序列为 4 3 4 2 3 1 4 2物理块有3个 则首轮 4调入内存 4次轮 3调入内存 3 4之后 4调入内存 4 3之后 2调入内存 2 4 3之后 3调入内存 3 2 4之后 1调入内存 1 3 2(因为最少使用的是4,所以丢弃4)之后 4调入内存 4 1 3(原理同上)最后 2调入内存 2 4 1 在指定内存中如果超过内存剔除最近最少用的。

2018-01-19 14:47:30 212

原创 AutoCompleteTextView 输入框自动提示 记录小结

先看效果图 布局文件<AutoCompleteTextView android:id="@+id/my_search_auto_edittext" style="@style/editText_search" android:layout_width="match_parent" android:layou

2017-10-31 14:59:31 314

原创 文章标题

Android 监听软键盘的 显示与隐藏getWindow().getDecorView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int

2017-09-20 15:50:59 186

原创 文章标题

Android轮播控件 ImageSlider+PagerIndicator 遇到的问题: 1.指示器背景是一个灰色的条幅,实际中不让出现 2.指示器shape为Rectangle,并且要求有一个灰色边框解决:对于第一个问题 不能使用TextSliderView,要用DefaultSliderViewDefaultSliderView de

2017-07-14 11:46:41 184

转载 各大网络请求框架的比较

在博客园看到一篇关于网络请求框架文章,总结的很全面。都有代码展示。转载过来供大家学习  原文地址:http://www.cnblogs.com/changyaohua/p/4992987.html自己学习android也有一段时间了,在实际开发中,频繁的接触网络各大网络请求框架的比较请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库

2016-10-13 19:43:16 342

原创 Before start of result set

Before start of result set

2016-09-14 11:11:12 560

原创 Activity的四种启动模式

Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。<activity android:name="MainActivity" android:launchMode="st

2016-09-04 14:15:51 189

原创 详解显示意图和隐式意图

意图在android的应用开发中是很重要的,明白了意图的作用和使用后,对开发会有很大帮助。如果没有把意图搞懂,以后开发应用会感觉缺些什么。 意图的作用: 1、激活组件 2、携带数据 3、意图的匹配(运用到隐式意图) android基本的设计理念是鼓励减少组件间的耦合,因此android提供了Intent(意图),用意图激活其他组件。I

2016-08-29 21:32:57 2347

原创 浅谈Android版本控制—SVN

何为svn呢?          它是一种软件工程籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新,它透过文档控制记录程序各个模块的改动 并为每次改动编上序号  并且编辑之后还可以回溯到以前的版本。简单来说就是备份与还原。常见版本控制及其区别  VCS -本地系统 VSS-为微软的产品,较为易学易用  只能在windows平台上运行,并且不是免费软

2016-08-08 20:12:01 193

原创 Android的volley请

Volley提供的功能  简单来说,它提供了如下的便利功能:JSON,图像等的异步下载;网络请求的排序(scheduling)网络请求的优先级处理缓存多级别取消请求和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)Volley在不同的线程上异步执行所有请求而避免了阻塞主线程Volley到底有哪些特点呢?自动调度网

2016-08-08 19:56:35 322

原创 广播的两种形式

广播接收器注册一共有两种形式 : 静态注册和动态注册.两者及其接收广播的区别:1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。 静态注册是常驻型,也就是说当应用程序关闭后,

2016-08-08 19:35:01 606

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除