- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 com.google.zxing.NotFoundException
使用zxing识别图片二维码com.google.zxing.NotFoundException是问题public class QrBarToolUtils { //一张图有多个二维码 public static Result[] decodeMultiFromPhoto(Bitmap photo) { HashMap<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object&g
2022-05-12 15:00:21 2272
原创 volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一
2017-12-15 10:11:05 230
原创 自动对齐的TextView 防止英文单词不能换行的问题
项目中显示两行文字要左右对齐,但是原生的TextView 遇到一个英文单词不会把单词分隔 而是自动换到下一行,这就导致排版很难看如图所示第一行没有显示完就换到下一行了 想要不自动换行 就需要自定义一个TextView,实现思路就是计算一行能显示多少个字符,然后drawText方法自己画,通过自定义实现效果如下自定义代码如下很简单,主要是理解思路public class AlignTextVie
2017-08-05 18:07:47 5936
原创 欢迎使用CSDN-markdown编辑器
webview 改变字体大小final WebSettings setting = this.getSettings();setting.setDefaultFontSize(textSize);改变默认字体的大小 在修改字体的时候使用
2017-07-21 13:56:39 224
原创 Android对象序列化
首先介绍下为什么需要序列化 需要把对象持久化存储到设备上,或者通过网络传输给其他客户端,比如通过ObjectInputStream,ObjectOutputStream直接读取(存储)对象的时候 通Tcp/Ip传输对象的时候。在Android中序列化最常用的到的地方就是通过Intent进行组件之间的数据传递和进程间通信,因为在Android中只有序列化后的对象才能通过这两种方式进行传递。序列化的
2017-05-11 17:51:02 382
原创 C语言中狐狸找兔子的问题
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-04-21 01:38:15 4117
原创 Android实现QQ空间沉浸式状态栏,并且滑动ListView实现透明度变化
安卓4.4以后增加了可以改变状态蓝颜色的api,所以现在主流的APP基本上都会把状态栏修改成自己APP的主题颜色。那么接下来就先实现沉浸式状态栏吧,//透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明导航栏getWindow().addFlags(WindowManag
2016-03-24 15:38:34 4451 4
原创 Android中开启进程的方法
Android中开启进程的方法很简单 只需要早manifest文件中指定组件的android:process=":remote1"就可以了 <service android:name=".ipc.AidlSercice" android:process=":remote1"></service>这样当启动Service的时候 这个Service就会运
2015-12-30 19:33:30 948
原创 AS开发AIDL程序(2)
上文中介绍了对象的序列化和Binder的使用,这篇文章主要介绍AndroidStudio开发AIDL的过程,如果没有看过上一篇的可以移步Anddroid中Binder的用法和对象的序列化 实现的功能大致是在主进程的Activity中调用其他进程中的方法。 Android的SDK会帮助我们自动生成Binder类。 第一步:创建图书管理的接口aidl文件,右键 选择创建AIDL FILE,这里我
2015-12-30 19:30:34 373
原创 使用AS开发AIDL程序(1)
安卓中的进程间通信是使用Binder完成的,所以想要了解进程间通信必须先要理解什么是Binder,Android中Binder是一个类它实现了IBinder接口,是进程间通信的媒介,它的大致原理就是:当Activity调用bindService的时候需要一个ServiceConnection对象,在这个对象里能够拿到来自Service传递过来的Binder对象通过这个对象就可以调用另外一个进程里的方
2015-12-30 18:53:47 915
原创 启动页白屏解决方案
由于Activity只能到onResume时,才能展示到前台,所以,如果为MAIN activity设置背景的话,无论onCreate-onResume速度多快,都会出现短暂的白屏或者黑屏(视的background属性) 其实解决的办法很简单,只需将你的SplashActivity中的View的background属性删除, 然后在AndroidManifest.xml为你的SplashActi
2015-12-30 11:13:41 2052
原创 Android图片压缩批量上传
图片是安卓中很难处理的一个环节,所以想写一篇关于图片处理的文章总结下开发中遇到的问题。 首先是图片上传,本人的手机是小米 note 照相机拍摄的一张照片大约在3.5M到5.8M不等,显然不对图片处理是不行的,第一 上传的太慢,要是用户选择了十张照片估计要半天。第二 把这张图片转化成Bitmap显示 肯定是要OOM的 所以就需要对图片处理, 第一步: * 压缩到指定比例 *
2015-12-29 18:15:21 1767
原创 Intent显式启动和隐式启动
众所周知 Android组件的启动模式有两种 显式调用和隐式调用,这两种调用方式从字面意思就很好理解,显式调用需要指定被启动的组件比如:Intent i= new Intent();i.setClass(this,SecondActivity.class);startActivity(i);隐式调用则不需要。那么隐式调用是怎么匹配找到被启动的组件呢?答案是IntentFilter,在Manife
2015-12-22 11:03:38 4074
原创 下拉ScrollView伸缩头布局,实现ScrollView回弹效果
项目中用到了商品详情展示效果,所以立马想到借鉴天猫商品详情界面,看了天猫的详情页面想到了两套解决方案。1,使用LitView 添加header监听listView 的滑动然后根据listView 的滑动距离计算 header应该滑动的距离 和改变header的高度。2,使用ScrollView 代替1中的ListView 监听onTouch事件,动态改变header的高度,按照这个思路也可以实现
2015-12-22 10:48:14 3644
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人