7 源崇121

尚未进行身份认证

android开发

等级
TA的排名 8w+

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

解决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

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

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

2017-03-13 15:06:22

安卓中屏幕适配方案

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

2017-02-10 15:50:49

应用的优雅退出

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

2017-02-10 09:55:27

使用TortoiseGit向github上传代码

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

2017-01-18 18:33:19

baseactivity实现封装toolbar

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

2017-01-17 16:24:44

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

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

2017-01-09 17:26:51

使用事件总线eventbus替代startactivityforresult

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

2017-01-09 15:17:11

安卓开发使用chrome浏览器进行调试

我们开发过程中调试程序有个logcat debug今天我介绍一下chrome调试,首先保证有谷歌浏览器chrome,之后看是哪种请求,比如我的项目用okhttp网络请求,看一下OKhttp的版本,如果是OKhttp3.0以上,这个时候集成    compile 'com.facebook.stetho:stetho-okhttp3:1.3.1' 以下网络库如果是2.0以上集成compi

2017-01-09 12:48:37

安卓中使用Fiddler真机抓包

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

2017-01-09 11:06:59

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

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

2017-01-05 17:53:32

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

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

2017-01-05 09:01:36

startactivityforresult与接口回调

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

2017-01-04 18:01:00

materialdesign下拉刷新控件MaterialRefreshLayout的使用

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

2017-01-04 16:38:09

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

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

2017-01-04 09:08:26

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

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

2017-01-03 18:06:10

EventBus实现fragment之间的跳转

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

2017-01-03 18:00:57

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

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

2016-12-28 12:45:10

SpannableString的用法

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

2016-12-28 12:25:50

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!