自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

态度决定高度A=X+Y+Z

微信搜索 Android小菜 每日会推送一篇安卓文章,欢迎关注阅读

  • 博客(448)
  • 资源 (10)
  • 论坛 (2)
  • 收藏
  • 关注

原创 仿美团下拉刷新控件(二)

如果想学习更多进阶知识,可以关注我的微信公众号:Android小菜。也可以直接扫描二维码关注:转载本专栏文章,请注明出处,尊重原创 。文章博客地址:道龙的博客本篇是实现仿美团下拉刷新控件的第二篇,第一篇见:仿美团下拉刷新控件(一)文本最终实现效果如下: 由于之前写过三篇自定义下拉刷新控件的文章,而且当时写的非常非常的细,本篇就不再浪费大家时间了,直接把重要的地方做一些解释,感兴趣的朋友可以直接下载

2017-10-28 15:41:29 625

原创 Android简易实战教程--第五十四话《视差特效》

第五十四话

2017-10-26 11:19:12 823

原创 仿美团下拉刷新控件(一)

本篇自定义控件会实现如下效果:涉及的知识点:1)、ListView添加头布局2)、事件分发以及TouchEvent事件处理3)、属性动画相关那么首先把基本的结构搭建起来:

2017-10-25 22:48:39 647

原创 自定义View 实现字母快速索引控件

本篇实现的最终效果如下:该自定义控件详细讲解请关注公众号:Android小菜。公众号每日一更一篇安卓技术文章,更快更新,讲解更细致。

2017-10-25 21:33:40 609

原创 Android自定义View实现下拉刷新控件

路过的老铁同志可以微信搜索“Android小菜”,不定期更新Android技术文章。比CSDN更快一步阅读。本文实现的功能如下:1、支持下拉刷新:2、支持上拉加载更多3、刷新异常展示微信搜索  “Android小菜”  查看原文解析实现过程。

2017-10-15 15:10:07 497

原创 QQ测拉效果实现(三)

转载本文请注明出处,尊重原创:如果想第一时间收到文章更新,可以微信扫描二维码关注我的公众号,或者微信直接搜索“Android小菜”进行关注,所有的文章会比CSDN更快一步:前两篇通过HorizontalScrollView + LinearLayout + scrollTo + 属性动画的知识实现了一个仿QQ5.0效果的控件。本篇纯手工实现类似的测拉效果。

2017-09-26 16:40:55 441

原创 QQ测拉效果实现(二)

转载本文请注明出处,尊重原创:如果想第一时间收到文章更新,可以微信扫描二维码关注我的公众号,或者微信直接搜索“Android小菜”进行关注,所有的文章会比CSDN更快一步:上一篇案例实现了最基本的QQ测拉效果,没有看上一篇的话可以点击链接先看上一篇文章:QQ测拉效果实现(一)本篇在上一篇的基础上实现抽屉效果以及实现测拉缩放效果,何为抽屉效果,请看下图:其实实现这个效果特别的简单,主要还是选择使用H

2017-09-24 21:44:38 365

原创 QQ测拉效果实现(一)

前言:总有一天,你会成为你想象的那样。转载本文请注明出处,尊重原创:如果想第一时间收到文章更新,可以微信扫描二维码关注我的公众号,或者微信直接搜索“Android小菜”进行关注,所有的文章会比CSDN更快一步:觉得有帮助可以赞赏或者点个赞,都是对博主的支持。本篇文章开始连续三篇会实现类似QQ测拉效果的自定义控件。分别使用不同的方式来实现同一效果。本篇使用方式一来实现:HorizontalScrol

2017-09-22 16:46:15 434

原创 ListView setAdapter has already been called 异常

本文参考:http://blog.csdn.net/androiddevelop/article/details/8474939异常提示:Java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.产生原因:addHeaderView()调用在setAda

2017-07-12 16:25:01 373

转载 MeasureSpec笔记

这个知识点经常的忘记,别人总结的很好,转载来一起学习。文章出处:http://blog.csdn.net/biezhihua/article/details/50203887正文View最终测量尺寸由View本身和其父容器共同决定的,如何在一定程度上顺应爹的“意愿”呢?这主要体现在对MeasureSpec类的使用。MeasureSpec: MODE 含义 UNSPECIFIED 未指定,爹

2017-07-03 16:30:37 305

翻译 GridView的一些特殊属性:

基本开发可以应付,总结的不错1.Android:numColumns=”auto_fit”   //GridView的列数设置为自动2.android:columnWidth=”90dp "       //每列的宽度,也就是Item的宽度3.android:stretchMode=”columnWidth"//缩放与列宽大小同步4.android:verticalSpacing=”10dp”  

2017-06-05 20:18:32 337

转载 Android Studio、Git 解决合并冲突

合并分支,解决冲突执行Git merge ,如果有冲突,就会出现如下格式:<<<<<<< HEAD这个位置的内容就是当前所在分支的内容=======这个位置的内容就是合并进来的分支的内容>>>>>>> branchName1234512345用下面的设置来改进冲突标记使其也显示(分支)共同祖先(感谢罗宾·斯托克和休·吉登斯): git config --global merge.confl

2017-06-05 14:24:39 1272

原创 Error inflating class com.jd.jrapp.widget.swiperefresh.SwipeRefreshListview

主要原因可能是xml文件中引用控件的路径改变了,查看控件最新路径即可。

2017-06-05 12:11:27 622

翻译 Android 相关属性

TextView:Android:layout_gravity="center_vertical"设置控件显示的位置:默认top,这里居中显示,还有bottomandroid:hint="请输入数字!"设置显示在空间上的提示信息android:numeric="integer"设置只能输入整数,如果是小数则是:decimalandroid:singleLine="true"设置单行输入,一旦设置为

2017-05-09 09:13:07 385 2

翻译 ViewStub基本用法

在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl

2017-04-28 09:08:31 5775

翻译 Android ImageView,ImageButton的scaleType属性与adjustViewBounds属性

ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXYAndroid:scaleType="center" 保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。android:scal

2017-04-28 07:49:01 841

原创 Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'idweb')

项目从SVN检出到工作空间后报了很多错误,其中很明显就是一些jar的问题,没有相关的jar或版本问题,看到最后的错误Unbound classpath Container: 'JRE System Library [JavaSE-1.7]' in project 'idweb',就很明白了,JRE问题了,解决办法如下:项目右键属性--->Java Build Path--->Libraries如图

2017-03-24 10:38:46 1094

原创 数据结构java版之 栈的应用<一>

上一篇我们自定义了栈和队列。本篇使用栈结构来完成一个功能,看看他的应用。会分两篇讲解。本篇需求:设计一个栈结构,实现字符串的反转,字符串不包括汉子。过程如下,因为代码做了很详细的解释。没有必要再去讲解代码的细节了。1、自定义栈结构package stacktest;/** * 需求:使用栈结构,实现单词逆序 * * @author Howard 使用栈完成,字符串倒叙 */publ

2017-03-14 19:28:25 555

原创 数据结构java版之《栈和队列》

1、栈。(Android的Activity加载是基础栈结构的)底层使用数组实现package ch4;/** * 栈 * @author Howard * 特点: * 1、通常情况作为程序员的工具集来用 * 2、受限访问,不可直接拿中间数据 * 3、更加抽象(主要通过接口定义) * 4、表现形式为先进后出 */public class MyStack {    //底层使用数

2017-03-14 19:25:28 365

转载 HTTP基本原理(简介)

原文:http://blog.csdn.NET/hguisu/article/details/86808081. HTTP简介         HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪

2017-03-10 21:57:46 516

原创 数据结构java版之《简单排序》

本篇文章针对上一篇的数组,实现几个简单的排序功能,并给出实现思路。包括冒泡、选择、插入三种最简单的排序。1、冒泡排序:​实现思路图解:public static void sort(int[] arr) { /* * 分析: 五个元素,总共比较了四次 比较次数为length-1 1、从尾部开始,与前面的元素两两比较,小了往前排。大了不搭理他 * 2、第一次比较完毕之后,下一次比较的

2017-03-07 19:44:45 309

原创 数据结构java版之《数组》

package ch01;public class MyArray { // 底层内部的数组 private long[] arr; // 数组容量,记录用户使用数组的长度 private int elements; /** * 无参构造,设置默认数组大小。 */ public MyArray() { arr = new long[50]; } /** *

2017-03-07 10:34:05 294

原创 NoHttp详解之NoHttp最原生使用(无封装)

参考博客:     点击打开链接  NoHttp详细文档:http://doc.nohttp.net NoHttp公益测试接口:http://api.nohttp.net https://github.com/yanzhenjie/NoHttp支持与RxJava完美结合、支持一句话切换底层为OkHttp,支持缓存数据到数据库或SD卡和数据库,并对数据做了加密保护,支持请求Restful风格的接口

2017-02-24 15:28:54 650

原创 源码分析初级《篇一》 为何建议使用LayoutInflater.from而不用View.inflate

转载文章请注明出处:道龙的博客我们不管是在ListView、RecyclerView、甚至自定义布局的时候,都会通过View.inflate(......);方法加载布局,其实这是偷懒的方式,有些时候,通过这种偷懒的方式反而带来意想不到的bug。比如空指针异常,非法状态异常。接下来就通过源码角度,分析为何不建议使用这种方式。伪代码示例:public class MyStaggedRecyclerA

2017-02-22 11:14:33 1789

原创 Error:java.lang.RuntimeException: Some file crunching failed, see logs for details

出现这个问题的原因就是构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀名;一般大多数是出现在图片上,.jpg修改成了.png就会出现这个问题;最多的应该就是9patch图片也可能出现这个问题。解决办法很简单在你的build.gradle中添加下面一组代码,重新编译即可!aaptOptions { cruncherEnabled = false u

2017-02-18 15:26:48 997

转载 Error:warning: Ignoring InnerClasses attribute for an anonymous inner class

今天项目发布时遇到了这个问题,在低版本设备上面死活发布不上去,还有打包也打不成功,折腾了好长一段时间,网上大部分给出的解决方案都是说在工程的混淆配置文件 proguard-rules.pro 中加入下面这句代码即可:-keepattributes EnclosingMethod但是尝试之后还是不行,发布不了,最后使用这种方式解决了,添加之后可以正常发布首先修改Gradle配置文件,启用MultiD

2017-02-18 10:51:36 744

原创 自定义View 篇四《低仿QQ测拉删除》

都知道QQ有一个比较牛逼的效果就是测拉删除效果,目前这个功能,网上自定义控件也有很多实现方式了,本篇也自己实现一个测拉删除效果的自定义控件。虽然功能一样,知识实现方式不同罢了,也希望提供一些思路,对自己和读者有些帮助~由于QQ测拉功能强大,手写文字耗费时间,就做个低配置版的测拉效果。废话不多讲,还是乖乖搞事情吧~1、实现测拉删除的真整体布局:对于自定义View的布局:xml version="1.

2017-02-10 20:01:34 619

原创 android studio 出现Error:Execution failed for task ':app:buildInfoDebugLoader'.的解决办法

今天在使用androidstudio的过程中,改了代码点击运行的时候发现android studio总是报Error:Execution failed for task ':app:buildInfoDebugLoader'.> Exception while doing past iteration backup : Source /home/ruiqin/AndroidStudioProjec

2017-02-07 21:54:15 1461

原创 Android简易实战教程--第五十三话《多彩波浪》

今天带来一篇自定义View的小案例,点击屏幕随机生成五颜六色的波浪效果。逻辑十分简单,Demo挺有趣,直接代码分享在下面:public class MyWaveView extends View { List waveList = new ArrayList(); List currentList = new ArrayList(); private int alpha; int[

2017-02-03 15:32:33 608 6

原创 自定义View 篇三 《手动打造ViewPage》

有了之前自定义View的理论基础,有了ViewPage、事件分发机制、滑动冲突、Scroller使用等相关知识的铺垫,今天纯手动打造一款ViewPage。1、完成基本的显示:在MainActivity中:public class MainActivity extends AppCompatActivity { private MyViewPage mViewPage; int[

2017-02-01 00:05:00 1002

转载 Android Scroller完全解析

原文地址:http://blog.csdn.net/guolin_blog/article/details/48719871 Scroller是一个专门用于处理滚动效果的工具类,可能在大多数情况下,我们直接使用Scroller的场景并不多,但是很多大家所熟知的控件在内部都是使用Scroller来实现的,如ViewPager、ListView等。而如果能够把Scroller的用法熟练掌握的话,我们自

2017-01-31 22:38:48 400

原创 自定义View 篇一--------《自定义View流程分析》

本文部分内容参考自掘金网:点击打开链接坐标图解:概述Android已经为我们提供了大量的View供我们使用,但是可能有时候这些组件不能满足我们的需求,这时候就需要自定义控件了。自定义控件对于初学者总是感觉是一种复杂的技术。因为里面涉及到的知识点会比较多。但是任何复杂的技术后面都是一点点简单知识的积累。通过对自定义控件的学习去可以更深入的掌握android的相关知识点,所以学习android自定义控

2017-01-30 15:04:03 1685 5

原创 自定义View 篇二--------《自定义属性》

之前在自定义View理论中,遗留下了一个知识,就是具体的自定义属性到底怎么使用。本篇就对自定义属性的常见方式,做详细的整理。分析自定义属性的常见三种方式。我们知道,大部分情况我们的自定义View需要有更多的灵活性,比如我们在xml中指定了颜色大小等属性,在程序运行时候控件就能展示出相应的颜色和大小。所以我们需要自定义属性。我们还知道,当在布局文件中加入某个控件的时候,会调用该View的构造方法

2017-01-30 11:55:35 827

原创 Android简易实战教程--第五十二话《满屏拖动的控件2》

之前就有写过这种小Demo,那里是使用setLayoutParams给控件设置新坐标的方式完成的,有兴趣读者可以参考博客:Android简易实战教程--第四十九话《满屏拖动的控件》本篇小Demo,使用另一种实现方式同样完成类似的功能。在开始之前,你需要复习一下有关坐标的知识:int getLeft() 得到当前视图左顶点相对父视图的X轴坐标int getTop() 得到当前视图左顶点相对父视图的Y

2017-01-22 11:50:25 521

原创 Android Studio精彩案例(七)《ToolBar使用详解<一>》

转载本专栏文章,请注明出处,尊重原创 。文章博客地址:Android5.0以后谷歌大力推崇Material Design设计,有意统一之前Android style风格乱象的情况。上一篇博客我们学习了ActionBar的使用,因为以前很多方式都会对ActionBar做深度定制,使用起来不是很方便,toolbar 作为 android 5.0 引入的一个新控件,可以理解为是ActionBar的升级版

2017-01-13 18:31:15 11009 7

原创 Android简易实战教程--第五十一话《使用Handler实现增加、减少、暂停计数》

转载博客请注明出处:之前,写过一篇使用异步任务AysncTask实现倒计时的小案例,喜欢的话可以参考博客:Android简易实战教程--第三十三话《 AsyncTask异步倒计时》。本篇在此基础上,使用Handler实现一些顺序计数以及倒叙计数。本篇小案例基本涵盖Handler使用场景还值得推敲哒~  喜欢的朋友可以关注本专栏,专栏会持续更新下去,而且文章会越来越标准化。案例简单,轻松阅读。博客只

2017-01-03 20:38:38 993

原创 Android Studio精彩案例(六)《使用一个Demo涵盖补间动画所有知识》

转载本专栏文章,请注明出处,尊重原创 。文章博客地址:元旦假期里,闲的无事,看到美团加载数据的动画,就突想写个Demo把动画知识集成一下。后来想了想,还是直接用一个Demo来把所有动画知识穿插起来算了,该Demo涉及大多数动画应用场景。本篇案例,使用补间动画完成一个简单的动画功能集,会涉及多种形式的动画实现(即使补间动画很老套,但一些简单的动画功能还是可以选择它的)。其实在实际开发中也能看到这些影

2017-01-02 21:14:49 3629 1

原创 Android简易实战教程--第五十话《动画扫描》

祝新年快乐!2017(一起)前行。本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条。对于自定义进度条前面有很详细的解析和案例了,本篇就结合动画知识串起来,并且再加入之前写过的AsynckTask知识。读者朋友也可以阅读之前两篇小案例,读者可以参考:Android简易实战教程--第三十三话《 AsyncTask异步倒计时》

2017-01-02 16:25:04 2527 8

原创 Android Studio: You need to use a Theme.AppCompat theme (or descendant) with this activity.

错误描述为:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.起因:我想在Manifest中设置我的activity全屏,代码如下:activity android:name=".SplashActivity" android

2017-01-01 21:32:20 1382

原创 Activity的四种启动模式任务栈图解

昨天在该平台发布了第一篇文章,遇到一些小问题,可能《知道了》平台处于创业初期,还待慢慢成长,个人也很期待越来越多的人参与进来,一起交流,一对一式的提问,会比去别的地方搜索答案效率更高,掌握的知识点也会更透彻。当然,贵平台也兑现发文章得奖励,本人也成功领取了红包。继续高歌猛进,今天带来另一篇Activity的文章——Activity的四启动模式。该篇文章,会以图文讲解的方式带你彻底掌握Activit

2016-12-24 22:55:23 1054 1

SimpleRefreshListView

一个简单的自定义View,实现下拉刷新上拉加载更多。一个简单的自定义View,实现下拉刷新上拉加载更多。

2017-10-15

自定义ViewPage

博客对应,欢迎下载

2017-02-01

模仿微信切换

欢迎免费下载源码

2016-12-05

FragmentDemo2

读者可自行下载

2016-12-02

ActionBarDemo

仿网易新闻客户端架子搭建,Android Studio案例欢迎下载学习交流

2016-11-29

ListView局部刷新Demo

开发实现的Demo,欢迎下载~

2016-11-26

新浪网盘相关

新浪网盘lib库和Demo,可免费下载

2016-11-18

xlistview第三方开源库

xlistview好用的下拉刷新、上拉加载开源库

2016-11-16

dom4j解析包

dom4j解析用到的库,欢迎下载。同事欢迎关注个人技术博客,地址:http://blog.csdn.net/qq_32059827

2016-05-26

CSS2.0样式表中文手册

2016-05-22

杨道龙的留言板

发表于 2020-01-02 最后回复 2020-01-02

《java入门第一季》欢迎初学者和正在学习的同行关注本博客一起交流

发表于 2016-05-04 最后回复 2016-05-06

空空如也

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

TA关注的人 TA的粉丝

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