自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DrawerLayout 如何全屏显示菜单

DrwaerLayout 无法直接设置滑出的菜单全屏显示,不满足需求。(slidemenu可以全屏,但是滑动效果不满足需求。)查了一些资料,并没有好的方法。查资料过程中 获得一个重要信息为,划出菜单后,最大剩余部分为65dp。故采用一个取巧的方法,以达到需求,下面上代码<android.support.v4.widget.DrawerLayout xmlns:android="h...

2019-02-25 16:30:17 2038 2

原创 Android6.0运行是权限在某些手机适配问题(小米手机)

当应用的targtSdkVersion小于23时,即便运行在android6.0及以上设备,ContextWrapper.checkSelfPermission和Context.checkSelfPermission失效,返回值始终为PERMISSION_GRANTED,这时必须要用PermissionChecker.checkSelfPermission来检查手机权限。检查是否具

2017-11-22 16:58:43 4824 4

原创 ViewPager异步添加数据异常 The application's PagerAdapter changed the adapter's contents without calling Pag

项目中用到ViewPager左右滑动图片,图片从网上获取,异步添加到ViewPager的Adapter中。出现强关,log如下06-25 15:01:44.396 E/AndroidRuntime(21181): java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's con

2017-10-27 09:55:15 9916

原创 用react实现了tab选项卡的功能

使用了 es6语法 ,可以自定义切换事件(click和mouseover),是否自动切换,选项卡初始位置,切换效果 (淡入淡出)。项目地址 https://github.com/smartTop/react-tab,项目实现的效果

2017-04-28 17:28:49 8482

原创 sourcetree,git 忽略不需要提交的文件步骤

1.找到git对应的文件  git status      结果 会得到已经修改的文件。     例如:  modified:  YYBaby/YYBaby.xcodeproj/xcuserdata/jianjian.xcuserdatad/xcschemes/xcschememanagement.plist2:删除缓存      git rm --cached 要隐藏的文件名

2017-04-17 21:25:30 8751

原创 android 用webview加载网页(https和http)

1.Android 加载https请求的网页的时候 打不开     当load有ssl层的https页面时,如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像PC浏览器中那样跳出一个风险提示框。因此,我们必须针对这种情况进行处理。(这个证书限于2.1版本以上的Android 系统才可以)      wv.setWebViewClient

2017-01-06 18:42:54 26459 2

原创 写开源项目用Gradle发布到jcenter

写开源项目用Gradle发布到jcenter

2016-12-21 17:33:59 431

原创 android 版本更新功能

Android 版本更新的功能    效果图如下:github地址  https://github.com/smartTop/VersionUpdate     欢迎大家指正,别忘了点赞啊

2016-12-21 16:01:28 777

原创 仿京东地址选择器

仿京东地址选择器     效果对如下:   该项目在github的地址 https://github.com/smartTop/AddressSelector欢迎大家指正,别忘了点赞啊

2016-12-21 15:53:44 7258 20

原创 git 常用命令

1,从已有的分支创建新的分支(如从master分支),创建一个dev分支并切换过去     git checkout -b dev (git co -b dev)2,创建完可以查看一下,分支已经切换到dev   git branch (git br )3,提交该分支到远程仓库   git push origin dev4.Git操作之克隆某一个特定的远程分支 

2016-12-19 10:37:11 502

原创 Android studio 项目怎么上传到gitHub上

一,第一步    要下载git https://git-scm.com/downloads二,第二步3.初始化git项目(git init),操作如下:VCS->Enable Control Integration->Select "Git".4.为git添加remote,在这一步中,studio没有为我们提供可视化的GUI,得用Git工具了。找到并打开git安装目录下

2016-12-08 18:13:37 670

原创 Android中对assets目录下数据库操作

Android中对assets目录下的数据库,进行操作。

2016-12-07 16:49:58 3392

原创 Android 中怎么设置全局自定义字体样式

1.首先要先知道Android中TextView设置字体样式的方法。textView.setTypeface();// 设置字体样式如果要自定义字体样式,先在工程里新建一个assets目录,把自定义样式字体放在里面。Typeface.createFromAsset(context.getAssets(), "fonts/Aileron-Light.otf");//

2016-12-05 18:35:23 7686

原创 android 可以控制速度的跑马灯

1.自定义textviewpublic class ScrollTextView extends TextView { // scrolling feature private Scroller mSlr; // milliseconds for a round of scrolling private int mRndDuration = 100000

2016-12-05 17:38:32 4140 4

原创 Glide加载图片会出现淡绿色的背景

Glide支持多种磁盘缓存策略:DiskCacheStrategy.NONE :不缓存图片DiskCacheStrategy.SOURCE :缓存图片源文件DiskCacheStrategy.RESULT:缓存修改过的图片DiskCacheStrategy.ALL:缓存所有的图片,默认解决:使用DiskCacheStrategy.SOURCE :缓存图片源文件Glide

2016-12-05 16:53:21 2049

原创 把Activity当成Dialog的时候不能全屏显示 (部分手机上)

解决方法:在AndroidManifest.xml中为Activity添加对话框主题,<activity android:name="com.qiyuan.naiping.activity.mine.ForgotPasswordActivity" android:configChanges="orientation|keyboard|keyboardHidden

2016-12-05 16:37:18 3842

原创 Glide下载图片和缓存图片

为了使后台线程加载和处理媒体资源更容易,Glide新增了两个API:downloadOnly(int, int)into(int, int)Glide的downloadOnly(int, int)API允许你下载图片的字节流到磁盘中,以便你之后用到。你可以在UI线程中异步地使用(需要一个Target作为参数)或者在后台线程中同步地使用(需要整数的宽高值作为参数)。 在后台线程中同步

2016-12-05 16:21:59 21889

原创 如何更新及替换ViewPager中的Fragment

在Android应用中遇到的问题?在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用

2016-12-05 10:37:41 5490 1

原创 Android 动态获取ListView的高度

public static int getTotalHeightofListView(ListView listView) { ListAdapter mAdapter = listView.getAdapter(); if (mAdapter == null) { return 0; } int totalHeight = 0; for (

2016-11-22 10:51:36 5310 1

原创 Android中奖结果滚动效果

大家可能在网上看到许多中奖结果滚动效果,这种效果怎么实现呢?下面是一个可以触摸滚动的自定义Viewpackage com.qiyuan.jindongshangcheng.view;/** * Created by huanghaojie on 2016/10/8. */import android.content.Context;import android.os.Ha

2016-10-10 10:48:46 2067

原创 在Android中正确解码用Javascript:escape()编码的中文字符

做H5页面开发时使用了Javascript的escape()函数进行URL编码,如果url中有中文,前端开发同学会对中文字符串进行escape()编码,然后再用unescape()解码,但是,当Android开发的同学,在app中嵌套webview页面,例如搜索页面,需要把keywords拼接在url后,传递给前端开发,当keywords为中文时,Android开发的该怎么办呢,你要明白,前端开发

2016-10-09 17:28:00 2510

原创 Android仿京东首页轮播文字(又名垂直跑马灯)

Android仿京东首页轮播文字(又名垂直跑马灯)

2016-10-08 14:16:27 11048 4

原创 FragmentTabHost的使用

FragmentTabHost使用:public class MainActivity extends BaseActivity implements View.OnClickListener { private LayoutInflater layoutInflater; private FragmentTabHost mTabHost; //定义数组存放Frag

2016-08-24 18:37:08 4688 4

原创 android 调用js中的方法

Android中可以使用WebView加载网页,同时Android端的java代码可以与网页上的javascript代码之间相互调用。一 Android部分:     布局代码:xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/

2016-08-19 15:16:12 24855

原创 Android6.0 新运行时权限

android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。新运行时权限ndroid的权限系统一直是首要的安全概念,因为这些权限只在安装的时候被询问一次。一旦安装了,app可以在用户毫不知晓的情况下访问权限内的所有东西。难怪一些坏蛋利用这个缺陷恶意收集用户数据用来做坏事了!

2016-08-16 16:02:01 1075

原创 Android的Handler机制原理

1.Handler是什么?在Android中表示一种消息处理机制或者叫消息处理方法,用来循环处理应用程序主线程各种消息,比如UI的更新,按键、触摸消息事件等。2.为什么Android要用Handler机制Android应用程序启动时,系统会创建一个主线程,负责与UI组件(widget、view)进行交互,比如控制UI界面界面显示、更新等;分发事件给UI界面处理,比如按键事件

2016-07-22 14:58:56 693

原创 web页面判断是否安装某app,并判断是否打开该应用

web页面判断手机里是否安转应用的原理就是:首先试着打开手机端某个app的本地协议;如果超时就转到app下载页,下载该app。下面说说 URL scheme 概述URL scheme 的作用客户端应用可以向操作系统注册一个 URL scheme,该 scheme 用于从浏览器或其他应用中启动本应用。通过指定的 URL 字段,可以让应用在被调起后直接打开某些特定页面,

2016-07-20 16:25:59 18292 8

原创 EventBus3.0源码解析

本文主要介绍EventBus3.0的源码EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递。EventBus使用简单,并将事件发布和订阅充分解耦,从而使代码更简洁。本文主要从以下几个模块来介绍1、EventBus使用2、EventBus注册源码解析3、EventBus事件分发解析4、EventBus取消注册解析

2016-07-16 10:43:45 1699

原创 EventBus sticky事件

一.前言相信会有人遇到过这种需求:启动应用进入到首页后,会有一个或若干个网络请求,请求网络获取数据后要更新View。如果此时网络访问有延时,这个时候进入到首页后,View更新便会造成画面更新的闪动,这样用户体验不太好。所以我们一般会引入一个 SplashActivity(启动页)来解决这个问题,将数据初始化操作先放到这里。那么,现在问题来了: 在 SplashActivity 执行一个

2016-07-07 16:09:53 1093

原创 EventBus3.0使用

EventBus是使用十分广泛的事件总线框架, 2.0到3.0的变化还是挺大的,使用方式点击OK即可。3.0与2.x的区别主要区别在订阅函数的不同EventBus2.x中只暴露了四个方法供用户调用,分别是onEvent:该事件在哪个线程发布出来的,onEvent就会在这个线程中运行,也就是说发布事件和接收事件线程在同一个线程。使用这个方法时,在onEve

2016-07-07 15:30:58 342

原创 Android studio 多渠道打包

用gradle利用manifestPlaceholders这个属性来替换渠道值的方法一般用渠道的统计无非是用友盟或者其它之类的,今天就以友盟的为例吧。渠道信息一般在 AndroidManifest.xml中修改以下值:meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />首先你必须在An

2016-07-07 10:32:58 409

原创 eclipse和Android Studio 代码混淆

一.eclipse和Android stuido代码混淆基本类似android studio代码混淆1.在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txtbuildTypes { release { //开启混淆 minifyEnab

2016-07-06 18:14:43 2135

原创 weakreference 用法

1.在Java里, 当一个对象o被创建时, 它被放在Heap里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收以腾出内存空间. 或者换句话说, 一个对象被回收, 必须满足两个条件: 1)没有任何引用指向它 2)GC被运行.在现实情况写代码的时候, 我们往往通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收 (可以用java -verbos

2016-07-05 15:58:12 991

原创 android调用系统相机拍照后对相片进行裁剪

1.调用系统相机意图Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);if(FileUtil.isExists(FileUtil.PATH)){ fileName = System.currentTimeMillis()+".jpg"; //设置照相返回图片保存路径 mPhotoFileUri =

2016-07-05 14:52:54 3311

原创 Html5调用android 本地的方法

1.new 一个webview webView.addJavascriptInterface(new ShareJs(mContext), "cmtJsInterface");其中 WebAppInterface是个类 类中 有个空的构造方法,例如:public class ShareJs {    Context mContext;    public Sha

2016-06-15 16:33:05 2012

原创 ViewPager+Fragment 预加载问题

ViewPager 默认加载两个fragment 左右各一个 viewPager.setOffscreenPageLimit(1);//其中参数可以设为0或者1,参数小于1时,会默认用1来作为参数,未设置之前,ViewPager会默认加载两个Fragment,左右各1个。如果要让fragment 只预加载view 不预加载数据  只需要重写 @Overridepublic void s

2016-05-28 15:36:49 706

原创 Android ViewPager被嵌套在ScrollView中不显示的问题的解决方案

解决方案:1.设置ScrollView的fillViewPort为true2.重写ScrollView,然后嵌套使用无任何问题,如何重写,具体看以下地址http://stackoverflow.com/questions/2646028/android-horizontalscrollview-within-scrollview-touch-handling自定一个

2016-05-14 17:10:30 1408 1

原创 Android 滑动冲突,事件分发机制的详解

Android中事件分发机制 ,是在 dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent这三个方法中做处理,上一层空间不做拦截处理,将事件分发给最底层的view处理。android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事

2016-05-14 16:58:48 456

原创 ViewPage不预加载页面

类似于网易新闻客户端 viewPage每次只加载当前页面,默认的情况下使用FragmentPagerAdapter或者FragmentStatePagerAdapter都会默认多加载一页。解决方法:一.即使是重写Android.support.v4.view.ViewPager,将变量设置:DEFAULT_OFFSCREEN_PAGES=0。二.使用默认的VIewPager。新建三个F

2016-04-26 14:23:30 1744

转载 commons.net FTP 实现断点续传

利用org.apache.commons.net.ftp包实现一个简单的ftp客户端实用类。主要实现一下功能1.支持上传下载。支持断点续传2.支持进度汇报3.支持对于中文目录及中文文件创建的支持。 枚举类UploadStatus代码public enum UploadStatus {      Create_Directory_Fai

2016-03-26 15:43:38 800

空空如也

空空如也

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

TA关注的人

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