自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 沉浸式标题栏导致布局底部EditText弹出软键盘时引起edittext被覆盖或标题栏被弹出问题的终极解决方案

之前项目用到ImmersionBar,结果引起布局中edittext靠底部的页面软键盘弹出效果不适,在网上查阅各种回答,都是说一些修改mainfest之类的 如adjustResize,stateHidden,adjustPan,或者嵌套scrollview自动解决什么的,然后高高兴兴到项目上实践,然并没什么卵用。。。。。。一怒之下决定在根布局(不包含标题)用Scrollview嵌套布局,然后监听...

2018-12-24 17:41:34 1219 1

转载 app代码混淆规则

1.基本规则两个常用的混淆命令,注意一颗星表示只是保持该包下的类名,而子包下的类名还是会被混淆;两颗星表示把本包和所含子包下的类名都保持-keepclasscn.hadcn.test.**-keepclasscn.hadcn.test.*用以上方法保持类后,你会发现类名虽然未混淆,但里面的具体方法和变量命名还是变了,这时如果既想保持类名,又想保持里面的内容不被混淆,

2017-09-19 14:43:51 616

原创 系统自定义全局字体修改

1,在AndroidStudio中添加依赖,点击calligraphy添加依赖2.在application中初始化对应字体,下面以Roboto-RobotoRegular.ttf@Overridepublic void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new Calligraph

2017-09-15 10:36:48 1018

原创 Android获取图片资源的4种方式

核心提示:1. 图片放在sdcard中,Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,Android获取图片资源的4种方式,跟目录是/sdcard)2. 图片在项目的res文件夹下面//得到application对象ApplicationInfo1. 图片放在sdcard中,Bitmap imageBi

2017-08-24 16:28:45 3313

原创 Android IPC 通信机制之一 Messenger 模式

在介绍使用Messenger跨进程通信之前先要了解以下问题:多进程是啥?我个人将不同进程简单的理解为不同的应用程序(当然也有例外,比如可以在同一个应用程序中开启两个或多个进程)。由于进程之间不能像线程一样共享内存,所以数据通信不能像线程一般进行。在Android中可以使用广播,Messenger,AIDL和Socket进行跨进程通信。本章利用Messenger进行多进程双向通信。Messeng

2017-08-17 18:19:11 313

原创 unicode与string之间的相互转换

unicode码对每一个字符用4位16进制数表示。具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数, 如果转化的16进制数的长度不足2位,则在其后补0,然后将高、低8位转成的16进制字符串拼接起来并在前面补上"\u" 即可。 方法一:转换原理代码实现/** * 将字符串转成unicode * @param str 待转字符串 * @return

2017-08-15 16:22:48 10248

原创 CRC16校验原理及实现

CRC码由发送端计算,放置于发送信息报文的尾部。接收信息的设备再重新计算接收到信息报文的CRC,比较计算得到的CRC是否与接收到的相符,如果两者不相符,则表明出错。 校验码的计算多项式为(X16 + X15 + X2 + 1)。具体CRC16码的计算方法是: 1.预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄存器; 2.把第一个8位二进

2017-07-18 16:31:30 17966 2

原创 牛B的Glide图片加载解析地址

http://blog.csdn.net/guolin_blog/article/details/53759439  源码分析、用法https://github.com/ls20lzy/glide-transformations   加载出不同样式的图片

2017-07-14 18:33:08 267

原创 surfaceview在fragment中切换回来后会失去焦点,导致点击事件需要第二次才能生效

最近有个项目用到了tabfragment,其中一个fragment中包含一个surfaceview在不断绘图,并且赋予了点击监听,但是当从其他fragment切回来时,在去点击他,onClick并没有响应,需要点击两次才会响应,不知道是为什么,后面猜测可能是焦点获取问题,surfaceview没拿到焦点,所以监听不到。所以重写了surfaceview的Ontouch方法。@Override

2017-07-13 18:30:55 1983 1

原创 将两个bitmap整合成一个bitmap

private Bitmap toConformBitmap(Bitmap background, Bitmap foreground) {         if( background == null ) {               return null;            }               int bgWidth = background.getWi

2017-07-11 15:23:28 1083

原创 android选择器

https://git.oschina.net/li_yu_jiang/AndroidPicker安卓选择器类库,包括日期选择器、时间选择器、单项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等,可自定义顶部及底部界面,可自定义窗口动画等等。。。。。

2017-07-07 16:27:03 396

原创 RadioGroup 的check(id)和他的子控件radiobutton 的setcheck(boolean)的区别

最近项目有需要实现不点击radiobutton来转换radiogroup的选择,之前一直用radiogroup的check方法来确定radiobutton的选择状态,但是今天遇到一个bug,上面的方法只适用于第一次确定radiogroup的选项,第一次后,再用之前的方法就会出现同一个radiogroup的oncheckchanged方法针对同一个radiobutton调用两次,因为我的项目需要实现

2017-07-03 17:49:43 551

转载 app内部切换语言

http://www.cnblogs.com/popqq520/p/5498990.html1. 添加多语言文件在不同的 value 文件夹下(例如 value 、value-en、values-zh-rTW 文件夹)添加不同语言的 string.xml 文件,我们的项目添加了英文、简体中文、繁体中文三种语言,如下图所示:其中英文需要翻译,繁体如果没

2017-06-23 14:54:14 477

转载 解决srcollview嵌套recycleview冲突

正常情况下NestedScrollView嵌套RecycleView,一是会出现只显示一行的情况,二是滑动异常即事件冲突。解决方法:1.也是最简单的方法,把design库和V7库升级到23.2以上,注意加上以下代码 ?12345mLinearLayoutManager.setSmoo

2017-06-19 16:46:18 680

转载 商品详情轮播控件

基本使用1.添加Gradle依赖dependencies {    compile 'com.nineoldandroids:library:2.4.0'    compile 'com.android.support:support-v4:latestVersion'    compile 'cn.bingoogolapple:bga-banner:latestVersion@

2017-06-16 17:59:10 653

转载 app音量调节

AudioManager类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。AudioManager audiomanage = (AudioManager)context.getSystemService(Context.AUDIO

2017-06-14 12:16:37 1973

转载 android屏幕亮度

android 设置系统屏幕亮度/*** 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度* SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度*/private int getScreenMode(){int screenMode=0;try{

2017-06-14 11:26:22 272

原创 AlertDialog内部edittext无法获取焦点解决方案

AlertDialog dialog = new AlertDialog.Builder(context).create(); dialog.setCanceledOnTouchOutside(true); dialog.show(); Window window = dialog.getWindow(); window.setCon

2017-06-14 09:46:33 915

原创 自定义SwipeRefreshLayout实现上拉加载更多并自带系统的下拉刷新

/** * Created by lzy on 2017/6/6 0006. */public class MySwipeRefreshLayout extends SwipeRefreshLayout{ private final TextView mFooterView; ListView view; OnListScrollListener listener;

2017-06-06 16:37:41 245

转载 app内部锁屏

锁屏流程如下(参考于Android一键锁屏开发全过程【源码】【附图】) 代码如下:public class AdminReceiver extends DeviceAdminReceiver{}public class MainActivity extends ActionBarActivity{    private DevicePolicyMan

2017-06-02 16:19:43 423

转载 4.0蓝牙学习

BluetoothGattCharacteristic API  http://blog.csdn.net/shb2058/article/details/51272751相关demo及操作流程 http://www.open-open.com/lib/view/open1456664515234.html

2017-05-31 11:33:54 263

转载 关于android调用系统锁屏和原生锁屏方案

http://www.2cto.com/kf/201110/108575.html // 调用系统锁屏http://www.tongleer.com/1268.html // 原生锁屏

2017-05-26 17:35:19 6515 3

原创 获取当前手机网络情况

public class NetUtil { public static final String NO_NET = "NO"; public static final String TWO_NET = "2G"; public static final String THREE_NET = "3G"; public static final Str

2017-05-26 14:36:59 417

原创 关于实时监听手机wifi信号和电量情况以及网络形式的改变

注册广播private void registerBroadCast() { receiver = new PadReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); filter.addAction(WifiM

2017-05-26 14:20:57 768

转载 安卓创建桌面快捷方式

创建快捷图标的方式在 Launcher 界面手工添加快捷图标通过代码向 Launcher 中的广播接收者发送广播来创建快捷图标创建快捷图标的原理采用了 Android 系统的广播机制,发送一个广播,Android 系统的 Launcher 中的 InstallShortcutReceiver 在接收到这个广播之后,快捷图标就会被创建。创建快捷图标的权限参见:

2017-05-10 17:36:18 775

转载 webview的使用

Android webview使用详解 出处 http://www.cnblogs.com/zgz345/p/3768174.htmlWebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebView we

2017-04-20 14:09:51 229

原创 关于即时通讯高度解耦合框架之一 适配器中不同类型消息框架

先介绍BaseHolder类,这个类是聊天类型的控件载体,包含通用的contentview,由initBaseHolder里面的参数传递public class BaseHolder { /** * row type {@link ChattingRowType} */ protected int type; /** * for uplo

2017-04-19 23:03:04 488

原创 几种常用移动控件的方法区分

public class MainActivity extends Activity { private Scroller scroller; private Button bt; private RelativeLayout rl; @Override protected void onCreate(Bundle savedInstanceState) {  super.

2017-04-06 11:54:49 315

原创 横竖屏切换导致activity的生命周期变化

1、运行Activity,得到如下信息onCreate-->onStart-->onResume3、切换成横屏时onPause-->onSaveInstanceState-->onStop-->onDestory-->onCreate-->onStart-->onRestoreInstanceState-->onResume4、再切换成竖屏时

2017-03-28 11:39:40 245

原创 Could not find method android() for arguments

Error:(23, 0) Could not find method android() for arguments [****] on root project '****' of type org.gradle.api.Project.最终解决方法是,打开build.gradle如下:// Top-level build file where you can add configur

2017-02-14 00:50:37 7274

转载 SimpleAdapter和ArrayAdapter和BaseAdapter的适用场景

1.SimpleAdapter(很多时候需要继承它,来自定义adapter):simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片)等。可以显示比较复杂的列表,包括每行显示图片、文字等,但不能对列表进行后期加工(在java代码中加工),也是只是单纯的负责显示 public class ImageListView extends

2017-01-18 17:09:51 843

转载 扩展下UI区域的点击范围

为使小的UI区域获得良好的触摸交互,根据View的特性,目前碰到了两种情况:1.如ImageView,设置其padding值,可触摸区域将向外扩展;2.如Button,设置其padding值,可触摸区域不变,其内内容显示区域向内压缩; 情况1的控件,可直接设置其padding值达到目的,如 android:padding="10dp"  情况2的控件,可使用

2017-01-18 10:29:17 604

转载 Android开发 Error(建议收藏下来以备不时之需):The number of method references in a .dex file cannot exceed 64K.

前言我一直都知道app里面的方法数是有限制的差不多64000,具体的就未曾考证了在遇到这个问题之前,一直以为这个一个多么遥远的距离其实并不是的,稍有不慎这个异常出来了当前并不是你真的有编写了64k的方法数量了大部分都是因为包的重复导入,当前就算是真的超过64k的方法,本文也将提出解决方案当出现这个情况别慌,我们一步一步来去除重复包我们项目中常

2017-01-17 16:19:06 213

原创 让edittext的输入模式从密码到可见切换

ettext.setTransformationMethod(PasswordTransformationMethod.getInstance());//密码ettext.setTransformationMethod(HideReturnsTransfomationMethod.getInstance());//可见

2017-01-16 14:39:08 382

原创 判断字符串中是否含有表情

/** * 检测是否有emoji表情 * @param source * @return */private boolean containsEmoji(String source) { int len = source.length(); for (int i = 0; i < len; i++) { char codePoint = source.

2017-01-12 14:15:16 1289 1

原创 子线程更新UI的几种方法

第一种:new Handler(context.getMainLooper()).post(new Runnable() { @Override public void run() { // 在这里执行你要想的操作 比如直接在这里更新ui或者调用回调在 在回调中更新ui }});context是你传过来的context对象第二种://

2017-01-09 16:34:56 2298

转载 android的Intent的action大全

Uri uri = Uri.parse("http://www.google.com");Intent it  = new Intent(Intent.ACTION_VIEW,uri);startActivity(it);//show maps:Uri uri = Uri.parse("geo:38.899533,-77.036476");Intent it = new

2017-01-04 16:44:08 315

转载 关于FLAG_ACTIVITY_CLEAR_TOP

FLAG_ACTIVITY_CLEAR_TOP :如果设置,并且要启动的activity已经在当前的任务中,那么在该activity之上的activity都会关闭,并且intent会传递给老的activity(现在在栈顶)例如,假设一个任务包含四个activity:A,B,C,D,假设D中启动B并且带有次标志,则 C和D都会结束,并且B会收到intet,现在的栈变成了A,B在上面的例子

2016-12-30 11:41:59 918

原创 捕获android程序崩溃异常日志

public class CrashHandler implements Thread.UncaughtExceptionHandler { private final static String TAG = "UncaughtException"; /** CrashHandler实例 */ private static CrashHandler ourInstanc

2016-12-27 17:50:46 1158

原创 自定义可左滑删除,且自动归位的listview

/** * 自定义可左滑动删除item的listview * Created by LZY on 2016/11/25. */public class MSListView extends ListView{// int lastPosition; MSLinearLayout root; public MSListView(Context context) {

2016-12-26 16:52:04 411

基本的baseview接装

基本的baseview接装,基本装。

2019-08-21

视频剪切,压缩,和取帧

视频压缩参照https://github.com/tangpeng/VideoCompressor,直接用其工具包类和对应lib的jar; 视频剪切以及界面参照https://github.com/kui92/WXVideoEditt,用其对应的gradle依赖

2019-08-07

视频播放banner

基于viewpager实现视频播放的banner...

2018-12-20

git 管理工具配套

git 管理工具配套

2017-08-16

基于UDP协议的串口通讯DEMO

基于UDP协议的串口通讯DEMO

2017-08-15

android app导出Excel的jar和代码类

引用jxl.jar,先在app的cache目录下生成.xls文件,再用IO流的形式复制到目标位置

2017-07-26

二维码解析和生成的aar包

记得在app的build.gradle中添加依赖 compile (name:'my-library-release',ext:'aar') android{ repositories { flatDir { dirs 'libs' } } } 用工具类ScanUtil的ScanUtil.startScan(this, new HandleCallBack() {//解析 @Override public void onSuccess(String data, Context context) { //解析得到的data,自行根据需求回调处理 } }); ScanUtil.startGenarate(v,this,"http://blog.csdn.net/lzy20ls",true);生成二维码

2017-07-06

自定义二维码扫码

仅仅调用zbar 解析二维码 so 文件,自行写成扫码jar包的逻辑处理代码;扫码界面,扫描结果处理在ScanCodeActivity中,可根据自己的业务逻辑自行修改

2017-05-25

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

TA关注的人

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