- 博客(242)
- 资源 (22)
- 问答 (1)
- 收藏
- 关注
原创 通过源码来理解RxJava是切换到主线程的?
通过源码来理解RxJava是切换到主线程的? Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> e) throws ...
2020-04-07 14:21:40
1577
原创 Android模仿快手视频详情页退出动画
转载请注明出处,谢谢:源码地址为:https://github.com/HarryWeasley/KuaishouDemo首先看快手的动图展示快手动图然后是我做的demo动图效果demo动图效果前因:作为一个中二中年人,某次机缘巧合之下,下载了快手这个app,然后发现了他这个动画,就觉得这个动画运用的地方挺多的,微信的图片退出动画也是这个,所以决定如何实现该功能。其实本篇文章的代码并...
2019-04-22 13:53:43
3617
4
原创 Android模仿微信浮窗功能的效果实现
转载请注明出处,谢谢:最近研究了微信悬浮窗的效果实现,写此文章记录一下,后面有我的GitHub源码地址。 老规矩,先放效果图,效果如下所示:首先,说下项目的主要几个功能点。 1.app申请悬浮窗权限,通过WindowManager添加视图 2.一共添加三个视图,右下角两个视图,分别表示小删除视图和大删除视图,一个是真正的浮窗视图 3.webView消失动画效果实现我的整个项目,...
2018-09-10 16:40:54
10199
5
原创 Android利用activity-alias动态更新图标icon,标题label
网上已经有很多的介绍“Android动态修改桌面图标”的博客,无非就是用activity-alias,setComponentEnabledSetting方法,但是他们的博客都有一个问题(或许是我没找到正确的),就是当你在切换图标的时候,你的应用会被杀死,重启一次。就拿下面的这个代码引入本篇博客吧: ComponentName oldCN = new ComponentName(getPackag
2017-06-26 09:40:43
8492
3
原创 Android动态权限,EasyPermissions 介绍及使用
Android M(6.0)以上是动态权限,google官方推出了一个开源项目EasyPermissions 来方便集成动态权限的功能。 本篇博客先翻译一下github的内容,然后给出一个例子,看看具体怎么使用EasyPermissions 。 EasyPermissions 的github地址是:https://github.com/googlesamples/easypermissions
2017-06-09 11:16:26
7623
3
原创 Glide centerCrop fitCenter和ImageView的scaleType的关系,互相影响的探讨
在使用Glide的过程中,你一定见过下面的代码方式: ImageView imageView = (ImageView) findViewById(R.id.image); imageView.setScaleType(ImageView.ScaleType.FIT_START); Glide.with(this).load("https://zh
2017-05-10 17:47:54
14323
2
原创 自定义HtmlTextView,让textView显示多种颜色的文字
网络上textView显示各种颜色的文字,都是在java代码里实现的,类似下面这种方式:比如 (myTextView.setText(Html.fromHtml("h2>Titleh2>br>p>Description herep>"));比如(>= Android Nougat):myTextView.setText(Html.fromHtml("h2>Titleh2>br>p
2017-05-04 09:47:49
2074
原创 Android A-Z通讯录,点击弧度效果,椭圆效果
开始本篇博客之前,先看下效果,效果如下所示 本控件主要有两个难点: 第一个是点击A-Z成为一个弧度,我在此用的是正弦函数曲线。 第二个是最上面的那个放大镜的字符符号效果。
2017-02-17 16:19:15
1149
原创 Android Studio transformClassesWithDexForDebug
转载请注明出处:http://blog.csdn.net/harryweasley/article/details/53462768在用Android Studio 构建的时候,总是报错,报错如下:Error:Execution failed for task ':XXXX:transformClassesWithDexForDebug'.> com.android.build.api.trans
2016-12-05 10:23:23
1247
原创 bindService 失败,魅族手机
最近做了一个aidl的测试demo,在小米手机上和lg手机上都没问题,可以正常启动远程的service,但是在魅族手机上,bindService一直返回false,onServiceConnected也不会被调用。代码如下所示:Intent inten
2016-11-01 10:38:51
4064
14
原创 SASL authentication DIGEST-MD5 failed解决办法
最近在维护公司一个带有聊天功能的项目,发现了一个bug,用户每次点击推送消息进入应用,就再也登录不上了,并且报如下错误:SASL authentication DIGEST-MD5 failed。这个聊天功能,通过aSmack.jar包实现的。调用XMPPConnection.login(String username, String password, String resource)方
2016-10-28 11:48:16
5301
原创 Android HapticFeedback(震动反馈)介绍
Android中长按一个控件的时候,想以震动提示用户,除了用Vibrate类来做,还可以用到(HapticFeedback)震动反馈实现。本篇博客,就熟悉一下Android触摸震动效果,首先我们打开手机上的振动模式开光,这里我是以小米手机来做模拟的,位置在设置—>声音和震动—>触摸时震动,如下图所示:
2016-10-13 18:23:17
14531
3
原创 java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
转载请注明出处:http://blog.csdn.net/harryweasley/article/details/52612239最近做一个项目,遇到了一个bug,在此进行记录一下。自定义view,在用到ViewDragHelper时候,报以下的错误:java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at com.see
2016-09-21 19:36:52
5217
原创 bitmap的六种压缩方式,Android图片压缩
bitmap的六种压缩方式,图片压缩形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式:图片长度 x 图片宽度 x 一个像素点占用的字节数以下是图片的压缩格式:其中,A代表透明度;R代表红色;G代表绿色;
2016-07-20 15:26:04
68753
9
原创 Android Design Support Library在eclipse中使用
下面的这个方法是错误的。 在sdk->extras->android->m2repository->com->android->support->design->22.2.1->design-22.2.1.aar该文件解压,会有一个class.jar 导入到Android项目的libs下面即可引用。 错误原因:你要用到design包下的resources 。正确的方法是:首先ecli
2016-06-28 11:14:34
6064
2
原创 gridView item一个一个出来,一个一个消失动画
转载请注明出处,谢谢:本篇博客最终效果,如下所示: 当点击click按钮,弹出对话框,gridView里面的item一个一个从下往上出来;当点击红叉按钮,gridView里面的item一个一个从上往下的消失。其实刚开始做的时候,item一个一个出来的动画,官方api是有现成的接口的,调用setLayoutAnimation(LayoutAnimationController cont
2016-05-31 16:18:29
2358
原创 关于Android屏幕适配应该知道的一些知识
前提:之前公司里面做的是电视应用,从来没有遇到过屏幕适配问题,这几天,公司新拿了一个盒子,每个控件尺寸变大,出现了很大的适配问题,所以我们就着手解决Android屏幕适配的问题。在做适配前,必须要了解一下屏幕密度dpi(dots per inch),屏幕密度就是每英寸有多少个显示点,可以通过如下的方式获取到:DisplayMetrics metric = new DisplayMetric
2016-05-24 16:28:27
2297
原创 Android GridView横向滚动,分页加载数据
转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/51007348始终觉得讲ui效果要先放上效果图,要不让其他人好不容易看完了,发现并不是他想要的效果,那岂不是坑了苦逼的程序员,程序员何苦为难程序员。效果图如下所示: 此应用,是viewPager结合fragment,fragment里又是一个gridView来实现的,实现向右滑
2016-04-01 16:38:39
6979
1
转载 Fragment的陷阱
以前做过的一个项目,Fragment嵌套高德地图,当再次进入Fragment的时候,会出现奇怪的现象。嵌套的地图会出现滑动不动的情况,起先还以为是高德的bug呢,经过一番研究,终确定这是一个坑。先对Fragment做一个简单的介绍,借用csdn上朋友写的一段内容。 Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵
2016-03-28 17:47:10
984
原创 recyclerview加载报错,NoClassDefFound
利用alertDialog出来的弹出框,总是周围有黑色的边框,如下所示,那么如何去掉边框,只是显示该view呢。先看下显示效果吧。其中,我们用alertDialog一般是以下的步骤:LayoutInflater inflater = LayoutInflater
2016-01-20 14:55:41
1493
转载 Java常用类库--观察者设计模式( Observable类Observer接口)
如果要想实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口。[java] view plaincopyimport java.util.* ; class House extends Observable{ // 表示房子可以被观察 private float price
2016-01-04 11:20:59
1233
原创 android edittext监听输入完成,输入完成后,获取到值
假如你要做这样的一个功能,通过在编辑框输入一些字符进行搜索,输入完成后,再显示搜索结果,在输入的过程中,并不想一直通知服务器来获取数据。假设这样的一个场景,你想搜索“1024”这个游戏,那么你肯定不想当输入1 的时候,就和服务器进行一次沟通吧,如果这样对服务器压力
2015-12-28 10:03:08
27992
2
转载 Android中Service的使用详解和注意点(LocalService)
开始,先稍稍讲一点android中Service的概念和用途吧~Service分为本地服务(LocalService)和远程服务(RemoteService):1、本地服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。主进程被Kill后,服务便会终止。
2015-12-19 15:58:13
1327
转载 Java:类与继承
对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是本文的目录大纲: 一.你了解类吗? 二.你了解继承吗? 三.常见的面试笔试题 若有不正之处,
2015-12-19 14:43:26
1167
转载 如何使用android.os.SystemProperties的方法
android.os.SystemProperties在SDK的库中是没有的,需要把Android SDK\platforms\android-xx\data\layoutlib.jar文件加到当前工程的附加库路径中,然后在源程序中就可以Import了。我平常是直接在工程属性里的Java Build Path->Libraries里添加External JARs。但是这样做会出现一
2015-12-17 17:16:50
2442
原创 Android输入法弹出,布局上移,背景不会压缩
转载请注明出处,谢谢:http://blog.csdn.net/harryweasley/article/details/50266749Android的输入法弹出问题,一直是困扰很多开发人员的问题,当输入法弹出时,布局会被压缩,某些控件被遮挡住,但是需求可能并不想让该控件遮挡住,在做输入法的时候,你一定要知道这个属性,android:windowSoftInputMode,他有三个属性,分别是ad
2015-12-14 16:06:03
14508
11
转载 Android 图片虚化,虚化图片,模糊图片
Blur自从iOS系统引入了Blur效果,也就是所谓的毛玻璃、模糊化效果,磨砂效果,各大系统就开始竞相模仿,这是一个怎样的效果呢,我们现来看一些图:这些就是典型的Blur效果,在iOS和MIUI中还有很多,这里就不再贴图了。有兴趣的朋友可以去看看。使用下面我们来看看如何在Android中来使用Blur,
2015-12-10 20:21:03
5942
3
原创 Android画圆环,水波移动的效果
自定义一个view,实现水波移动,有进度条的圆环效果,如下图所示: 圆环本身是红色的,进度条是绿色的,水波是蓝色的,中间的数字是绿色的。本例中用了两个图层,水波图层和圆环进度条图层。关于图层的更多信息,你可以查看: http://blog.csd
2015-12-03 20:04:10
4035
转载 Android开发实践:为什么要继承onMeasure()
Android开发中偶尔会用到自定义View,一般情况下,自定义View都需要继承View类的onMeasure方法,那么,为什么要继承onMeasure()函数呢?什么情况下要继承onMeasure()?系统默认的onMeasure()函数行为是怎样的 ?本文就探究探究这些问题。首先,我们写一个自定义View,直接调用系统默认的onMeasure函数,看看会是怎样的现象:
2015-12-01 17:33:41
1277
转载 android Paint之setXfermode方法
setXfermode(Xfermode xfermode)该方法用来设置两张图片相交时的模式,系统已经实现的Xfermode子类有以下三个:1、AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。2、PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素XOR操作。3、PorterDuffXfermod
2015-12-01 17:31:40
1202
转载 Android Canvas的save(),saveLayer()和restore()浅谈
1.在自定义控件当中你onMeasure和onLayout的工作做完成以后就该绘制该控件了,有时候需要自己在控件上添加一些修饰来满足需求复写onDraw(Canvas canvas),其中Canvas就像是一块画布,你自定义控件的样式就是在它上面完成的。Canvas ,Paint等基本概念就不赘述了。2.下面就直接用demo来解释标题列出的方法先介绍save()和必
2015-12-01 17:30:22
9065
原创 android ratingbar 星星间距问题,自定义ratingBar
网上有很多自定义ratingBar的样式,但是关于星星间距问题扩大的,并没有很明显的介绍,我这篇文章就在此做出介绍。先说下原理。让公司的ui妹妹给你切三张图片,如下图所示: 分别是全星,半星,和空星。每个星星的左右都有相同的间距,我这里是左右都有5px的间距。之
2015-11-27 15:46:21
25082
原创 Android获取桌面应用程序
首先在看这个博客之前, 你可以先看下这个博客,http://blog.csdn.net/harryweasley/article/details/50057707里面介绍了两种方式来获取应用程序的信息,一种是packageInfo,一种是ResolveInfo,通
2015-11-26 16:53:40
4690
转载 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下[java] view plaincopyprint?PackageManager packageManager = this.getPackageManager(); List packageInfoList = packageManager.getInstalledPacka
2015-11-26 16:30:20
3488
原创 Android获取有线网ip地址
一个Android设备如果是机顶盒的话,那么他有必要获取有线网络的Ip地址。网上关于此文章有些少,而且很乱,今天研究出了大概,记录一下,希望帮助到大家。本文用到三个类,分别是 Enumeration,一个集合类。 NetworkInterface 网络
2015-11-25 17:28:57
17823
3
转载 Android在SDCard创建目录_卸载应用同时删除工程创建的文件
原文地址:http://my.eoe.cn/futurexiong/archive/17972.htmlChristophe Versieux (Waza_be)发表了一篇rant about android developers’ bad habit to store files directly on the root of the sd card的文章。我非常赞同这篇文章的观点。
2015-11-19 14:34:10
4912
原创 SurfaceView的操作类
写一个类,继承SurfaceView,在其构造方法中,获取surfaceHolder,并得到SurfaceView的生命周期。在surfaceCreated方法里,开启绘制线程,在surfaceDestory方法里,关闭线程。在线程里,每隔50s绘制一次。绘制方法用try catch方法包起来,因为可能canvas会报空指针,在进入主屏幕的时候,或者线程没有停止,但SurfaceView已经关闭
2015-11-16 15:08:22
911
原创 一句话修改字体颜色,大小,用spannableString
效果图如下图所示:代码如下所示:spannableString = new SpannableString("共为您清理了" + "54.41MB" + "的空间"); spannableString.setSpan(new AbsoluteSizeSpan(20), 0, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
2015-11-13 18:31:47
2710
原创 Imageloader, listview.notifyDataSetChanged刷新问题,图片闪烁
我在项目中,用了ImageLoader来显示图片,这样引出一个问题,偶尔在我调用notifyDataSetChanged这个方法时候,图片全部闪烁一下,原因是图片全部重新加载了一次,导致闪烁。下面是我之前的getView方法中。下面的ImageLoader直接调用,造成每次notifyDataSetChanged,重新调用了ImageLoader方法。@Override publ
2015-11-06 11:00:55
10444
转载 AlarmManager.setRepeating的参数问题
我在设置时钟的时候遇到一点问题我开始的代码是这样写的Java代码 alarmManager.set(AlarmManager.RTC_WAKEUP, (5*1000), sender); 我的本意是设定五秒后启动闹钟 但是每次都是我设置完闹钟之后立马就启动了。后来我发现问题出在第二个参数上 我对他的理解是错误的typ
2015-10-31 10:48:16
7552
gridView item一个一个出来,一个一个消失动画
2016-05-31
ViewPagerDemo
2016-04-01
获取桌面应用程序
2015-11-26
gridview的item放大问题,setOnItemSelectedListener不执行的解决办法。
2015-07-10
gridview整页翻页的滑动,上滑和下滑
2015-07-06
指导界面Demo
2014-12-19
SwipListViewDemo
2014-11-23
popupWindow动画显示
2014-11-19
android程序数据保存在单例模式中,保存在内存中,会oom吗
2015-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人