Android A-Z通讯录,点击弧度效果,椭圆效果
开始本篇博客之前,先看下效果,效果如下所示
本控件主要有两个难点:
第一个是点击A-Z成为一个弧度,我在此用的是正弦函数曲线。
第二个是最上面的那个放大镜的字符符号效果。
自定义HtmlTextView,让textView显示多种颜色的文字
网络上textView显示各种颜色的文字,都是在java代码里实现的,类似下面这种方式:
比如 (
myTextView.setText(Html.fromHtml("h2>Titleh2>br>p>Description herep>"));
比如(>= Android Nougat):
myTextView.setText(Html.fromHtml("h2>Titleh2>br>p
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
Android动态权限,EasyPermissions 介绍及使用
Android M(6.0)以上是动态权限,google官方推出了一个开源项目EasyPermissions 来方便集成动态权限的功能。
本篇博客先翻译一下github的内容,然后给出一个例子,看看具体怎么使用EasyPermissions 。
EasyPermissions 的github地址是:https://github.com/googlesamples/easypermissions
Android利用activity-alias动态更新图标icon,标题label
网上已经有很多的介绍“Android动态修改桌面图标”的博客,无非就是用activity-alias,setComponentEnabledSetting方法,但是他们的博客都有一个问题(或许是我没找到正确的),就是当你在切换图标的时候,你的应用会被杀死,重启一次。就拿下面的这个代码引入本篇博客吧: ComponentName oldCN = new ComponentName(getPackag
Android模仿微信浮窗功能的效果实现
转载请注明出处,谢谢:
最近研究了微信悬浮窗的效果实现,写此文章记录一下,后面有我的GitHub源码地址。
老规矩,先放效果图,效果如下所示:
首先,说下项目的主要几个功能点。
1.app申请悬浮窗权限,通过WindowManager添加视图
2.一共添加三个视图,右下角两个视图,分别表示小删除视图和大删除视图,一个是真正的浮窗视图
3.webView消失动画效果实现
我的整个项目,...
一行代码解决activity 重建 fragment 重叠问题
想必用过fragment 的同学一定都有遇到过fragment 的重叠问题吧,原因在于我们在activity的onCreate方法中创建并添加了fragment,而activity一旦销毁 重建onCreate方法就会执行,如果销毁之前保存了fragemnt的相关信息,那么activity就会进行恢复,当创建与恢复同时存在的时候activity就存在两个fragment了。
我的要求是:1,杜绝...
Android Matrix使用总结
主要是看aige博客,Matrix部分老忘,再看了一遍,现在把重点知识点记录下,怕忘了。1.matrix.setXXX方法,是会重置matrix的。怎理解呢?//假如做了以下两个变换,会发现,只有效的是Rotate
//原因是,在我们new了一个Matrix对象后,这个Matrix对象中已经就为我们
//封装了一组原始数据.而我们的setXXX方法执行的操作是把原本Matrix对象中的数据重置,重新
Android 渐变色计算ArgbEvaluator
ArgbEvaluator argbEvaluator = new ArgbEvaluator();
int COLOR_START = (int)(argbEvaluator.evaluate(0.9f,COLOR_START, COLOR_END));evaluate(0.9f,COLOR_START, COLOR_END)),这个方法,三个参数。
第一个,一个float值,0~1.0f;代表
RxJava Android倒计时
转载自这位大哥的:http://blog.csdn.net/qq_33375419/article/details/56479994?locationNum=6&fps=1/**
* 使用RxJava实现倒计时
*/
private void countDown() {
final long count = 30;
Observable.i
RelativeLayout中子view设置Margin无效
发现:在RelativeLayout中如果一个子view设置如:layout_alignParentBottom或者layout_alignParentTop等属性,在代码中通过layoutParam动态设置margin会是无效。记录下。修改margin同时改变图片大小: RelativeLayout.MarginLayoutParams layoutParams = (RelativeLayout
UnsatisfiedLinkError 报so文件找不到
网上已经有很多人列举各种原因,今天受人之托看一个古老的项目,在改完各种.9图片问题,api过时等等后,终于编译通过了。跑一下,立马崩了。
刚开始以为是现在so库没有包含我测试机的架构的so,特意查了下,发现是有的.......好迷。习惯性去build.gradle看了下,发现:
main {
manifest.srcFile 'AndroidManifest.xml'
三阶贝塞尔曲线公式计算坐标
1.ValueAnimator通过AnimatorSet去play ValueAnimator valueAnimator = getBesselAnimator(tempImageView, rankWidth, rankHeight);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(va
ExpandableListView异常Couldn't read row 0, col -1 from CursorWindow
记录一个比较好玩的bug。
在使用ExpandableListView时,老是在执行完bindGroupView时,报以上错误,并且错误定位不到业务代码。而groupcursor的有数据的。
debug了一会,发现问题所在。
原因是,我的groupCursor,从数据库中query出来时,使用到了distinct,如以下语句:String sql = "select distinct piny
checkbox 扩大点击范围
感慨下。哇,Google + stackoverflow 真的是好用。
要增加点击范围,可以通过TouchDelegate去该控件的父容器去借。所以,以下方法要是想成功,必要条件是改控件的父容器,必须要够大,但是只要大到能装下你要的点击范围就行。贴代码: public void toSetBigClickArea(View view){
Rect delegateArea = ne
自己的android keystore 提示密钥库文件不存在
今天遇到个奇葩问题,公司祖传的keystore,打包什么的都正常,今天做华为推送的时候需要sha256值,使用指令:keytool -list -v -keystore androidkey.keystore总是报错:keytool 错误: java.lang.Exception: 密钥库文件不存在: androidkey.keystore
java.lang.Exception: 密钥库文件不存在
Resource注解报错 javax.annotation不可见
就像图这样,前提是该有的jar包我一个不少….
太坑,花了我好久找原因。
后面发现是我jdk版本太高了….我是用的是jdk9,
把jdk降到8就好了…未知原因。
我是小菜鸟。
java 生成数字指纹 md5到Base64
废话少说,上代码:
public String generateToken(){
String tokenString = System.currentTimeMillis() + "" + new Random().nextInt(99999);
try {
MessageDigest mDigest = MessageDigest.
今日推荐
周排行