自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (4)
  • 收藏
  • 关注

原创 Error:Error: Found item Attr/duration more than one time

从这个错误可以看出是在自定义view的时候 attr下面 duration使用超过一次 因此将这个属性抽出 name="duration"format="integer"/>其他使用这个的属性name="duration"/>这样引用即可

2017-05-04 14:36:49 2812

原创 解决viewpager的预加载

viewpager的预加载是很烦人的 因此为了解决这个预加载找了很多方案,在github上面有自定义viewpager实现它的懒加载,我感觉还是挺复杂的,为此我看了一下viewpager的源码,如下/** * Set the number of pages that should be retained to either side of the * current page in t

2017-03-13 15:11:35 570

原创 viewpager动态改变每一个item的高度

viewpager是几乎每个项目都用的 ,有的时候 页面复杂一些需要动态改变每个item的高度,因此需要进行解决。解决方案如下:首先如果对其进行wrapcontent需要自定义viewpager重写它的onmeasure方法,在里面进行处理 处理之后重新设置viewpager的高度为0  即可解决。看如下代码/** * Created by longcai:zhangyu on 17

2017-03-13 15:06:22 2270

原创 安卓中屏幕适配方案

在安卓中 屏幕适配是每一个项目必不可少的东西,屏幕适配有两种方案,一个是用px适配 另外一个是用dp适配。首先说一下px适配,这种适配比dp适配要方便很多,在网上很多的开源项目都是关于px适配的,这种适配需要加上markman 等工具的一起使用。这种适配的原理是根据UI给的尺寸直接填写px值 方便快捷。在这里推荐一个屏幕适配开源项目AndroidAutoLayout :   使用时候直接填写p

2017-02-10 15:50:49 665 2

原创 应用的优雅退出

开发过程中 需要退出APP,这个时候 就需要对退出进行处理 。我最常用的是两种方式,第一种方式是:建立一个全局容器类将activity都保存起来,退出时候遍历所有的activity第二种方式是建立广播,当我退出的时候发送一个退出广播。第一种方式 定义BaseActivity 如下代码: @Override protected void onCreate(Bundle sav

2017-02-10 09:55:27 643

原创 使用TortoiseGit向github上传代码

我们使用git工具已经很熟悉了,所以还是忍不住写一下git的一些用法,我曾经用github插件分享到github上面上,发现还是很坑的第二次进入之后就忘记密码了每次都得重新配置,所以我就用了TortoiseGit 还是很给力的。首先准备下载TortoiseGit 客户端然后进行安装,这里就不明说了之后进入如下界面点击generate 生成key 在这里说明一下 在生成过程中

2017-01-18 18:33:19 569

原创 baseactivity实现封装toolbar

最近看了material design发现toolbar是一个非常好用的东西,以前做项目的时候喜欢写导航条然后baseactivity处理,最后一直include,今天我封装了baseactivity实现全局继承toolbar,下面说一下我的实现思路首先写baseactivity,继承AppCompatActivity 在baseactivity里面封装一些公共用法比如进度加载匡,等等 。此次封装

2017-01-17 16:24:44 1553

原创 android studio 中读取包出错的解决办法

今天碰到一个奇葩的问题是读取包出问题了如下图实际上项目是没问题的这时候百度了没看到明确的解决方案,后来看到它报错的地方知道了 是缓存的问题,所以我看它的目录进入caches目录 直接将缓存目录删除,也可以找到对应目录进行删除,这缓存问题还是很令人头疼的

2017-01-09 17:26:51 455

原创 使用事件总线eventbus替代startactivityforresult

前几天我介绍过带返回值的activity,其中有两种方法一种是startactivityforresult,另一种是接口回调,今天我介绍另一种方法是eventbus事件总线,eventbus是非常火的一种框架这个模式就是事件总线,它比观察者模式要先进很多。我借鉴了这位博主的思路实现替代forresult:http://blog.csdn.net/crazy__chen/article/detail

2017-01-09 15:17:11 1270

原创 安卓中使用Fiddler真机抓包

开发中抓包是一个很重要的流程,为此特意研究了一下Fiddler抓包,首先下载fiddler软件,打开之后是这样的界面打开Internet连接tools->fiddler options 出现如下界面勾选如下选项勾选之后选择OK,之后重启Fiddler软件,重启之后配置真机IP地址使得真机IP地址和Fiddler软件处于同一个局域网。我的电脑是Windows所以c

2017-01-09 11:06:59 315

原创 两种方法处理recycleview的点击事件

我们用recycleview的知道,它并不像listview那样有onitemclicklistener在这里我介绍两种方法实现recycleview的跳转,第一种方法是在每一个item里面写点击事件可以这样处理 holder.itemView.setOnClickListener 这个itemview是recycleview里面就有的。另一种用的很广泛是自定义点击事件在ada

2017-01-05 17:53:32 1854 1

原创 使用Android studio自带的lint清除项目中的无用资源

由于APP二次开发或者增加新功能等一些迭代会产生很多无用的资源,因此为了给apk瘦身,很有必要清理一些无用的资源文件。我习惯用studio 本身的lint清除无用资源看一下操作步骤之后输入UnusedResources得到以下对话框,可以选择清理哪些无用的文件,这里边我选择的是清理project里面的无用文件点击OK得到以下列表这是我清理之后的效果,如果没有

2017-01-05 09:01:36 4309

原创 startactivityforresult与接口回调

startactivityforresult我们已经很熟悉了,带返回值的跳转,今天我介绍一下接口回调,这个也是一种带返回值跳转,实现界面之间的交互,看startactivityforresult                Intent intent = new Intent(MainActivity.this,SecondActivity.class);

2017-01-04 18:01:00 839

原创 materialdesign下拉刷新控件MaterialRefreshLayout的使用

自materialdesign出世以来 ,很受开发者的欢迎,对于 它的默认刷新控件应用非常广泛,我们用的网易云音乐 知乎 钉钉之类的都是用改控件,非常简洁方便。使用步骤: 第一步依赖materialrefresh 库 : compile 'com.cjj.materialrefeshlayout:library:1.3.0' 这个库在github上面地址为https://github.

2017-01-04 16:38:09 1373

原创 安卓中动态设置控件的宽度和高度

我们做项目的时候 需要动态设置控件的高度,因此该功能是很重要的,下面我介绍一下动态设置控件的高度。     LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) password_layout.getLayoutParams();其中password_layout.是获取线性布局中的当前控件   

2017-01-04 09:08:26 6375

原创 安卓中键盘输入事件的实现

键盘的处理有几种方式,其中看需求情况,有的是回收键盘进行事件处理,有的是正在输入时候进行键盘处理,今天我实现键盘输入时进行事件的处理                        et01.addTextChangedListener(new TextWatcher() {                            @Override           

2017-01-03 18:06:10 484

原创 EventBus实现fragment之间的跳转

在我们做项目的时候 很多时候回碰到fragment跳转到fragment,在网上查了一些,其中有三种方法,这些还是不难的,但是不同需求需要实现的功能不同,这是第二模块的fragment,如果我从点击首页的一个控件跳转到第二个模块的fragment中的定期理财这个模块,因此我想了一下解决方案,后来发现EventBus 这个东西非常的强大,所以就采用它了,一行代码即可解决这么复杂的问题

2017-01-03 18:00:57 5844

原创 Android studio如何快速导入项目以及提高编译速度

安卓开发者都知道 studio是采用gradle构建项目的,我们很多时候都需要向其中导入项目,其中有在github上面导入的还有的是接手别人的项目,因此快速构建项目是必须的,不用下载不必要的东西,看以下操作,我从github上面下载supertextview这个开源库,我需要给它run起来,下载成功之后可以看到项目结构是这样的,这个时候我需要将它导入我的studio中,这个时候就需要修改里面的

2016-12-28 12:45:10 2265

原创 SpannableString的用法

在安卓开发中 SpannableString用途非常广泛,它节省了布局的复用,比如一个字符串可以搞定的事情就不需要布局嵌套布局了,比如这个布局 这是一个列表,其中的每一个item是这样的 我可以这么处理,整体是线性布局熟悉为竖直,标题那一行 是一个线性布局 标题和投资时间平分这个水平布局 里面为2个textview,借款者也是一个线性布局  里面有两个textview平分这个布局。 操作这个是

2016-12-28 12:25:50 306

原创 textview实现自由复制

在很多APP中这个功能应用非常广泛 最近项目需要这个需求 所以做了一个简单的复制粘贴功能看如下代码我有一个textview控件 实现它的点击事件 在点击事件中进行如下处理即可实现该功能ClipboardManager cmb = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SER

2016-12-28 11:52:08 590

原创 listview中给每个item添加点击事件

给listview每个item添加点击事件,这个听起来好像挺迷糊的,在adapter里面我直接就写startactivity后来没成功,为此研究了几分钟发现有三种方式实现哈。现在说一下我的解决方法。1、在activity里面写adapter 这样点击事件直接解决,holder.btnStartrequest.setOnClickListener(new View.OnClickListener

2016-11-18 13:57:41 6259

原创 listview中点击事件不好用

在我们开发工程中有的时候碰到一些奇葩问题,今天我就碰到一个 奇葩的问题,在listview中每个item里面有一个button结果 发现不能点击,为此总结了一些处理方法。由于了解原因是因为焦点的问题所以处理这种方式把button换成imageview或者在item那里加如下属性即可解决问题。不止button有这个现象,checkbox等都有。android:descendantFocusabi

2016-11-18 13:37:32 224

原创 安卓中九宫格的实现

以前在学习安卓的时候 那个时候是学习过九宫格的,后来由于工作对这个九宫格没有接触太多,渐渐的忽略了这个东西,随着接触的东西越来越多,感觉这个九宫格还是很广泛 的为此特地写了一个demo,其实九宫格就是一个gridview然后设置适配器即可,这里面需要注意的是九宫格的线下面看代码<com.jiuxin.jiugongge.MyGridView android:id="@+id/gri

2016-11-18 11:07:23 2545

原创 使用popwindow实现自己的下拉列表

我们传统的下拉列表是spinner,但是spinner有时候实现不了我们想要的效果,可能需要自定义,但是自定义也会出现很多问题,这个问题变的非常的繁琐,为此需要用popwindow实现这个下拉列表,下面看demo运行效果图,这个下拉列表实现范围非常广泛,为此特意做了一个demo哈,下面看我实现的思路,了解popwindow,其实就是一个控件点击之后弹出popwindow,然后在popwindo

2016-11-18 10:46:12 1418

原创 快速搭建自己的图片轮播

在安卓开发过程中,图片轮播用途非常广泛,因此 今天做了一个demo,测试还是非常好用的首先借鉴 github上面的demo, 我借鉴的demo是这个地址:https://github.com/dongjunkun/BannerLayout添加这个依赖  compile 'com.github.dongjunkun:BannerLayout:1.0.3'BannerLayou

2016-11-11 17:19:34 338

原创 android studio中取消关联git

android studio取消关联git 步骤如下settings->version control这里是已经取消关联的 如果关联 按住减号即可

2016-11-08 12:59:32 17607

原创 安卓中圆形图片工具类

public class CircleImageView extends ImageView { private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888

2016-11-04 15:19:00 300

原创 scrollview与recycleview冲突解决

在我们开发过程中经常碰到过 添加scrollview之后 recycleview控件不显示了 这就是他们的冲突喽,为此百度了一下 找到了解决办法,办法如下.他就是在onmeasure里面进行处理,如此可以自定义 GridLayoutManager或者是LinearLayoutManager看以下工具类即可public class FullyGridLayoutManager exten

2016-11-01 11:44:28 3400

原创 搭建自己的volley网络请求框架

volley这个网络请求框架应用非常广泛的哈,最近由于项目需求 需要搭建一个volley框架,在网上看到许多写volley网络请求的文章,最后呵呵了 run起来全是错 ,所以自己整理了一下.可以拿来直接用的哦,下面看我实现的思路.在gradle中动态添加所需要的库文件如下compile 'com.android.support:design:23.1.1'compile 'com.mcx

2016-11-01 11:27:24 406

原创 安卓中垂直跑马灯的实现

在我们开发过程中,跑马灯这个功能非常实用的,在实现这个功能的时候,这个时候我们通常需要找demo来实现这个方法,我从github上面找到这个demo感觉很好用,所以就要实现了这个功能喽MarqueeView,看这个工具类,因为我找这个类的时候是没有点击事件的,所以我给它加了一个点击事件,看这个工具类public class MarqueeView extends ViewFlipper {

2016-10-18 17:50:08 2303

原创 安卓中使用流式布局实现标签

我们在开发的时候通常需要加标签,对于这个标签怎么说呢,反正也挺复杂的,最初开发这个标签的时候还是没有思路的,后来在github上面查找了一下资料,了解了通过流式布局来实现这个标签,我记得开始的时候我写标签的时候是三个TextView一个一个添加进去的,后来感觉还是不太好,所以咯就用了流式布局来实现。看一下我的思路。第一步我在github上面找流式布局实现标签功能,找到了一个工具类感觉灰常好用所以就

2016-10-18 17:40:07 457

原创 scrollview滑动随着actiongbar状态变化

我们在使用APP的时候,大部分都对actionbar进行处理,今天我写的文章是actionbar随着scrollview滑动而改变它的状态,其中我的方法是监听它的事件,对scrollview监听事件里面进行处理,以下是我的布局,这是actionbar的,这里面说一下,这个布局还是比较复杂的,如下代码就是我实现的这个功能,看来网上其他的文章进行的总结看如下代码。xml version="1.

2016-10-18 17:30:59 256

原创 安卓中的dialog的使用

由于Materialdesign风格的出现所以我们也很好的使用安卓中的控件,下面我就说一下Material dialog,其实和正常的dialog是相同的代码,我这里面就正常写的布局,之后代码生成器生成点击事件之类的,dialog代码如下:private void showDialog() { AlertDialog.Builder builder = new AlertDial

2016-09-23 17:15:26 323

原创 materialdesign之tablayout的用法

自从Material design出来之后,备受安卓开发人员的喜爱,因为其风格更加的符合人们的审美观,也就是我们所说的面向对象,大众喜欢的风格才是最好的风格,下面我就介绍一下Material design中tablayout的用法。这是非常方便的比起以前的相互切换更加简洁方便下面看如何实现首先我们用到Material design这个风格,所以得需要Material design这个支持库

2016-09-23 15:09:51 289

原创 使用Android studio上传本地代码到github

由于目前为止github是非常火的,因此向github上传demo是非常普遍的,下面就介绍一下如何向github上传demo,首先下载git客户端,安装过程不说了,打开Androidstudio工具出现如下界面,之后会出现提交代码的界面提交即可,这种是非常简单的提交本地demo的代码方式,我曾经看过网上说的什么命令啥的大部分都是错的呵呵哒。

2016-09-23 10:15:32 1589

原创 安卓中程序打包的几种方式

在安卓开发中打包是必不可少的一件事,下面就是我打包的流程打开一个安卓项目,build->general apk 如下图出现如下图可以new一个 往里面填充内容即可 这种打包只是很老套的打包其实也是可以用的。还有两种是我最常用的打包方式,一种是gradle构建如下图如图点击build即可,还有一种是也可以说是构建,如下图点击APP那一栏rele

2016-09-21 15:51:53 1172

原创 在项目中如何搭建自己的imagloader框架

我们都知道在项目中会用到图片异步加载,防止oom的,关于imageloader用途非常广泛所以如何在项目中搭建自己的imageloader框架在application里面初始化imageloaderprivate void initImageLoader() { ImageLoaderConfiguration.Builder builder = new ImageLoaderC

2016-09-21 12:22:59 266

原创 安卓中saveinstance中的一些陷阱

我们都对activity生命周期有所了解,我不敢说特别精通哈,我们有的时候需要跳转activity有的时候需要往下传递值,也就是intent.putextra("","");到下一个activity里面这个时候我们可以看到值传递过去了哈,但是当我们切换其他应用时,再次切换回来的时候可以发现这个时候就呵呵了,什么数据都没有,对于这种情况可以说是activity生命周期里面发生的activity异常情

2016-09-20 11:15:03 1166

原创 Android studio中调试代码的技巧

我们开发的时候都知道回滚,这个也是通常用的,但是回滚也是很有讲究的可以是回滚整个类,也可以回滚部分代码,回滚类就不说了非常简单直接revert就可以了,部分代码回滚呢,我们知道有的时候一直ctrl+z有时候还是不好用的,所以这个时候代码部分回滚,处理部分代码非常重要。我们修改代码的时候通常都有状态的颜色,我们在修改代码旁边可以看到右侧有一条竖着的线,代表修改的代码,点击修改代码左侧会出现rollb

2016-09-19 15:32:07 404

原创 打造属于自己的activity跳转

在安卓开发中,activity跳转是最常用的,通常我们的用法是intent.putextra("","");然后在另一边使用bundle接受,之后bundle.get   这样做我感觉好麻烦呢,因此应该将这一块抽取出来,其中我是这么做的。直接上代码,这样就可以直接解决这样的问题了呢,其中按照代码规范,我们put进去的一定要写常量,Intent intent = CircleUserCenter

2016-09-19 15:12:47 487

volley框架demo

自己动手搭建volley网络请求框架,拿来直接就可以用 完全是拿来主义哦

2016-11-01

php编码规范

php的编码规范 很适合大家观看 形成一个良好的编码规范

2013-07-18

留言板 动态的

这是自制的留言板 代码通俗易懂 很适合初学者

2013-07-18

php文件 学php必须用到的代码

本资源经过自身学习php总结 完成了必须掌握的21段代码 很有用很给力的

2013-07-18

空空如也

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

TA关注的人

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