自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (17)
  • 收藏
  • 关注

原创 MTSimpleAdapter框架扩展——添加empty页面、error页面和loading等特性

前言 MTSimpleAdapter github: MTSimpleAdapter在上一篇博客中适配ListView和RecyclerView构建多Item模板的终极杀器——MTSimpleAdapter 中介绍了MTSimpleAdapter框架的基本使用方式,在本文中,我们将基于MTSimpleAdapter来做一些扩展。通常,我们在使用ListView和RecyclerView的时候,

2016-05-29 17:13:25 908

原创 适配ListView和RecyclerView构建多Item模板的终极杀器——MTSimpleAdapter

本文中的DEMO和library已上传到github: https://github.com/devilthrone/MTSimpleAdapter 欢迎fork and star O(∩_∩)O需求背景我们在Android开发中经常会遇到下列场景:一个ListView中需要展示多种不同的布局。例如:聊天界面、消息盒子等场景。通常的实现方式是: 重写getViewTypeCount方法返回布局的

2016-04-16 20:49:07 1772 4

原创 自定义View之Chart图标系列(1)——点阵图

最近要做一些图表类的需求,一开始就去github上看了看,发现开源的图表框架还是蛮多的,但是很少有完全符合我的需求的,另外就是使用起来比较麻烦,所以就决定自己来造轮子了~~~ 今天要介绍的就是Android图标系列中点阵图(姑且这么叫着吧╮(╯▽╰)╭)的画法。 效果图如下: 需求: 1. 给出几个点 画出坐标轴(用虚线) 2. 画出对应的点 在点的上方标出数值 3. 下方要显示

2016-01-25 00:55:33 2022

原创 Android组件式开发(2)——实现网格布局的RadioButton矩阵

**前言** 在Android中,我们一般通过RadioGroup来管理一组RadioButton 来达到 单选按钮的互斥效果。但是,有些需求中,需要完成N行N列这样的RadioButton组成的矩阵,但是我们的RadioGroup是一个耿直的LinearLayout,无法完成网格布局╮(╯▽╰)╭。所以,下面我就像大家来介绍一种实现网格布局的RadioButton的思路。 无图无真相, 先上一

2016-01-24 23:50:36 3288 1

原创 Android应用程序互保方案

在android系统中,到内存不足时系统会主动杀死那些占用内存较多的应用程序,另外像手机管家这种软件也会杀死我们的应用程序。可是由于业务的需求,我们需要应用程序一直在后台运行而不被干掉,因此需要一套可靠的解决方案来实现。 看过网上的不少博客,主要说的都是通过双进程守护,提高service优先级,或者将应用搞成系统级别应用,来实现应用长期在后台运行的效果。这些方案或多或少都有一些缺陷。在此,提出另外

2016-01-11 23:20:09 2033 1

原创 android组件式开发(1)——可复用的弹出式菜单

组件式开发,融入android**引言** 在app中经常能看到底部弹出式菜单的应用,比如手机qq和微信中头像的选择。这一组件非常常用。所以,将这一组件进行封装后,就可以像使用android 原生view 一样方便地使用这一功能,极大地提高了程序的可扩展性和可维护性。 (一)效果实现第一步,我们需要将底部弹出式菜单的效果实现出来。 在android中,菜单一般可以使用dialog和popup

2015-10-03 18:39:04 2704 3

原创 详解单例模式

引言单例模式可以说是所有设计模式中最简单,也是我们最熟悉的设计模式了。但是虽然单例模式看起来很简单,却也有很多值得说道的地方。今天我们就来聊一聊这个最为人熟知的设计模式。单例模式的应用场景在很多应用中,都有与应用相关的配置文件,比如使用JDBC连接数据库时需要配置文件来保存数据库的配置信息,如:数据库账号、密码、数据库源;再比如Spring框架中的各种配置文件。在这些配置文件中我们可以定义一些需要的

2015-06-22 22:47:53 654 1

原创 Android动画特效第二弹——QQ聊天彩蛋蹦蹦哒

效果在比较新的版本的手机QQ中,有许多的隐藏彩蛋。当我们发送一些特定关键字的时候,屏幕上回掉下一些到处乱蹦表情,比如输入么么哒、节日快乐这些字的时候,都会有不同的表情掉落,看上去灰常酷炫。 那么我们今天,就来简单的实现一下QQ彩蛋的效果。(效果很简单,只掉落一个表情,各位大神如果想要扩展的话 可以自己添加)效果图如下: 从上图中我们可以看到, 到我们输入特定关键字“me”的时候,屏幕上回掉下亲亲

2015-05-19 23:57:33 4566 9

原创 android浮动搜索框的使用

引言在我们的应用程序中经常需要提供搜索服务,比如搜索联系人, 搜索商品信息等等。我们可以自己在布局中自定义我们的搜索框,实现我们的搜索逻辑。但是还有一种更简单的方法:使用android系统给我们提供的搜索功能框架。 在android中,提供两种实现搜索功能的方式:search dialog 和 searchView. search dialog类似于普通的dialog,悬浮于我们的窗体之上。示例

2015-05-15 00:14:13 6858 3

原创 android人脸识别——HowOld测测你的年龄和性别

引言这段时间微软的HowOldRobot 测试年龄的网站非常火,访问量已经爆棚了!不过,这个测试也有很多比较坑爹的地方。比如:。。。。。 再比如。。。好了 言归正传!今天我们就来看看android中怎么利用人脸识别功能来实现我们自己的HowOld APP (PS:本人也是借鉴了网上大神的视频和资料 然后自己加以改进,有兴趣的可以去看看慕课网上鸿洋大神的视频http://www.imooc.co

2015-05-14 17:21:26 13355 14

原创 Android自定义控件(三)——打造闪闪发光的字体

介绍在小米的开机动画和一些欢迎界面中, 我们经常看到这种闪闪发光的流光字体。看起来很炫酷,其实实现原理相当简单,我们只需要写自定义控件继承TextView,然后使用渲染器Gradient设置颜色渐变和Paint的setShadowLayer方法设置阴影,然后不断刷新改变位移即可。 实现首先写一个shineTextView类继承自TextView.public class ShineTextVi

2015-05-12 22:45:01 4619

原创 Android自定义动画类——实现3D旋转动画

Android中的补间动画分为下面几种: (1)AlphaAnimation :透明度改变的动画。 (2)ScaleAnimation:大小缩放的动画。 (3)TranslateAnimation:位移变化的动画。 (4)RotateAnimation:旋转动画。然而在实际项目中透明度、缩放、位移、旋转这几种动画并不能满足我们的需求,比如我们需要一个类似下面的3D旋转动画。这时候就需要用到自

2015-05-09 15:54:10 7055 4

原创 Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标。例如: 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往; 而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”。 而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性。android:ime

2015-05-08 21:58:35 8811

原创 使用DialogFragment 代替 Dialog

自从google在发布的3.0版本的安卓系统中引入了fragment之后,在google的官方文档中,我们会发现,官方建议我们使用DialogFragment 来代替原来的dialog,这样可以使我们的对话框具有更多的交互性,也更加符合面向对象的特性。 google官方文档原话 Honeycomb introduced Fragments to support reusing portio

2015-05-08 21:55:39 2748

原创 递归算法——BOX FRACTAL 盒分形(POJ2083)

问题盒分形定义如下: 1度的盒分形为: X 2度的盒分形为: X X X X X如果B(n-1)表示n-1度的盒分形,则n度的盒分形递归定义如下:B(n-1) B(n-1) B(n-1) B(n-1) B(n-1) 请画出n度的盒分形的图形输入每行给出一个不大于7的正整数。输入的最后一行以-1表示输入结束输出对于每个测试用例,出书用’X’标记的盒分

2015-05-07 21:24:20 5461 2

原创 Vertical Histogram——字母频率柱状图(POJ2136)

问题描述读取四行字母,并输出一个垂直柱状图用以显示在输入中的所有字母的出现次数。输入:1行到4行: 大写字母 , 每行不超过72个字符输出:第一行到第?行: 由星号和空格组成的若干行,最后一行由被分开的大写字母组成。输入样例: THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HI

2015-05-05 22:44:17 2320

原创 HTML5+CSS3实战(二)——照片墙效果

现在的前端做的越来越炫酷了,各种特效让人眼花缭乱。 前几天逛网站的时候,看见有个照片墙的效果不错,就想着自己也做做看。 首先上图: 照片呈不规则的角度摆放,当鼠标放在照片上时,照片会放大; 鼠标离开照片时,照片回到原来的状态。 其实只要用CSS3的一些属性完全就可以实现这样的效果,无须一行js代码~~代码实现: html代码部分的代码,就是一个div里放上几张图片而已。<div cl

2015-05-01 20:00:06 21932

原创 HTML5 CSS3实战——自定义音乐播放器(一)

前几天才刚开始接触HTML5和CSS3。学习了一下里面的一些炫酷的新特性。不过,对于原生的HTML5的媒体播放器,真的不得不吐槽:就三个按钮 界面还那么丑。所以觉得自己整一个好看的播放器。老话说:说不如干,纸上谈兵终觉浅。所以结合这几天来学的东西,自己写了一个HTML5的播放器。 HTML5原生播放器: 我们的效果图:歌曲列表:首先分析下界面,将主面板解剖一下: 整个界面都是用H

2015-05-01 19:46:50 21498 1

原创 递归回溯法实战(一)——(Red and Black)红黑砖迷阵(POJ1979)

问题模型有一个矩形的房间里铺满正方形瓷砖。每块瓷砖涂成黑色或红色。一个人站在黑色的瓷砖上,从此出发,可以移动到四个相邻的瓷砖之一,但只能移动到黑色的瓷砖上。计算他通过重复上述移动所能经过的黑砖数。 示意图如下(画的有点丑(⊙﹏⊙)。) 输入输入包含多个数据集。一个数据集开头行包括两个正整数W和H,W和H分别表示矩阵的列数和行数,切不超过20. 每个数据集有H行,其中每行包含W个字符。每个字符的

2015-05-01 18:56:23 1813

原创 二分法实战(一)——HangOver问题(POJ1003)

问题模型:问题:在一张桌子上叠放卡片,如果是一张卡片,这张卡片最多可以向桌子外伸出卡片长度的一半;如果是两张卡片,最下面的一张卡片伸出卡片长度的三分之一,上面的一张伸出卡片长度的一半,则两张卡片伸出桌子的总长度为 1/2 + 1/3 = 5/6;以此内推,N张卡片向外延伸的长度为: 1/2+1/3+1/4+…+1/(n+1),最上面的卡片向外延伸1/2.第二张向外延伸1/3,…最下面的一张向外延伸

2015-05-01 16:19:14 1045

原创 关于Hibernate中的继承映射

在面向对象中,类与类之间是有继承关系的,但是在关系数据库中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据 中,Hibernate为我们提供了3中方案:第一种方案:一个子类对应一张表。第二种方案:使用一张表表示所有继承体系下的类的属性的并集。第三种方案:每个子类使用一张表只存储它特有的属性,然后与父类所对应的表以一对一主

2015-04-24 16:20:15 526

原创 动画效果第一弹——购物车添加商品特效

(一)引言以前在饿了么上面订餐的时候,曾经看到过这么一个特效,就是将商品加入订单时,会有一个小球呈抛物线状落入购物车中,然后购物车中的数量会改变。具体的效果如下图。 效果很简单 ,就是一个抛物线的动画,那么我们应该用什么技术来实现呢?想了想,动画层是不个错的选择!下面开始分析及实现(二)分析当点击购买按钮的时候,我们在布局上加入一个动画层,然后让小球在动画层上做抛物线运动,就可实现上图中的效果了。

2015-04-20 22:40:55 3202 5

原创 浅谈Android Canvas绘图类

android中的绘图类主要涉及Canvas和Paint两个类。Canvas相当于画布,而Paint相当于画笔。有了画布和画笔,就可以进行绘图了。 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下:setAntiAlias: 设置画笔的锯齿效果。

2015-04-18 19:29:22 959

转载 Android 自定义控件玩转字体变色 打造炫酷ViewPager指示器

1、概述本篇博客的产生呢,是因为,群里的哥们暖暖给我发了个效果图,然后问我该如何实现顶部ViewPager指示器的字体变色,该效果图是这样的:大概是今天头条的app,神奇的地方就在于,切换ViewPager页面的时候,顶部指示器改成了字体颜

2015-04-18 18:59:14 1048

原创 Android自定义控件(二)——圆形进度条以及回调方法

(一)引言上一篇博客介绍了Android自定义控件中音量控制器的实现方法,没有看过的盆友可以传送到http://blog.csdn.net/a253664942/article/details/45017283看看。今天准备给大家介绍一下圆形进度条的实现方式。 首先看一下最终的实现效果,来上图: 进度条的背景进度的颜色、进度的颜色以及字体的颜色、圆环的半径和宽度都可以使用自定义属性来改变,另

2015-04-18 18:47:56 2851 12

原创 Android自定义控件——音量控制器

Android自定义控件——音量控制器一直有写博客分享技术的打算,但是由于时间关系一直没能开始。今天终于有点空闲时间,所以写了一篇关于自定义控件的应用来练练手。好了,废话不多说,直接进入主题。我看到小米手机上的音量控制是下面第一张图这个造型的,网上也有很多案例,我自己也尝试实现过。不过今天我们要实现的音量控制类型并不是这样,而是经典的小喇叭样式——第二幅图的样式。(做的很丑,将就看看O(∩_∩)O~

2015-04-13 01:10:09 6414 2

原创 Groovy入门(四)——集合Map

Mapmap声明方式def myMap =['a':1,'b':2,'c':3]assert myMap instance HashMapassert myMap.size() == 3assert myMap['a'] == 1def emptyMap = [:]assert emptyMap.size() ==0def map = new TreeMap()map.putAll(my

2016-04-18 21:13:40 9322 1

原创 Groovy入门(三)——集合类型List

Listgroovy中的List结合了Java中数组和List的优势,既可以用下标的形式来访问数组中的元素,而且可以动态扩展数组,相当方便!声明ListList有以下三种声明方式myList =[1,2,3]myList = new ArrayList() 或者 mylinkList = new Linklist(myList);longList = (0..100).toList()Lis

2016-04-18 20:41:58 16796

原创 Groovy入门(二)——集合类型-Range

1. 范围 Rangesranges用..表示范围操作符,用来指定左边界和右边界 ep: (0..10) -> 01234567890..<操作符指定了半排除范围,不包含右边界 ep:(0..<10) -> 0123456789range也可以通过显示方法创建:def a = new IntRange(0,10)Range主要方法range主要有如下方法:1.contains:是否包含

2016-04-18 20:41:03 2484

原创 leetcode 205: Isomorphic Strings

题目描述:Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced with another

2016-04-17 19:10:13 449

原创 leetcode 290:Word Pattern

题目描述:Given a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.Exampl

2016-04-17 16:50:24 410

原创 leetcode 19:Remove Nth Node From End of List

题目描述 Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from

2016-04-16 15:59:20 338

原创 leetcode 235:Lowest Common Ancestor of a Binary Search Tree

题目描述:Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined betwee

2016-04-15 17:44:59 340

原创 leetcode 101:Symmetric Tree

题目描述:Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \2 2/ \ / \3 4 4 3But the following is not:

2016-04-15 17:33:14 409

原创 求数组最大子序列的和

题目:给出数组{4,-3,5,-2,-1,2,6,-2},求子序列的最大和。分别用一下两种方法解决。#include <stdio.h>// 方法1: 分治法//时间复杂度 O(NlogN)int max3(int num1 , int num2 , int num3){ int max = num1; if(max<num2)max= num2; if(max<nu

2016-04-03 18:55:21 2858 1

原创 求最大公约数的两种算法

1.辗转相除法辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。 例如,求gcd(319,377): ∵ 377÷319=1(余58) ∴gcd(377,319)=gcd(319,58); ∵ 319÷58=5(余29), ∴ gcd(319,58)=gcd(58,29); ∵ 58÷29=2(余0), ∴ gcd(58,29)= 29; ∴ gcd(319,377)

2016-04-03 18:03:09 10681

原创 leetcode 27:Remove Element

Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The order

2016-03-16 22:41:36 817

原创 leetcode 66: Plus One

Question:Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.题目描述:给定一个非负数 用数组表示。对

2016-03-16 21:56:05 633

原创 leetcode 171: Excel Sheet Column Number

Given a column title as appear in an Excel sheet, return its corresponding column number.For example:A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 解题思路 26进制转10进制 C = 3 = ‘C’-‘A’+1+26*0; A

2016-03-14 23:51:03 353

原创 leetcode 283:Move Zeroes

题目描述:Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.For example, given nums = [0, 1, 0, 3, 12], after calling your

2016-03-14 23:30:35 328

绚丽的时间轴

android非常绚丽的时间轴源代码哦! 不可多得哦!

2015-06-10

android 浮动搜索框

android 浮动搜索框 在我们博客http://blog.csdn.net/a253664942/article/details/45728981中有详细的介绍,有问题可以提问

2015-05-15

android人脸识别——HowOld测测你的年龄

android人脸识别——HowOld测测你的年龄 在我的博客http://blog.csdn.net/a253664942/article/details/45723567中有详细的说明,有问题可以留言

2015-05-14

Android自定义控件——闪闪发光的流光字体

Android自定义控件——闪闪发光的流光字体 类似小米的开机动画字体闪亮效果, 代码中有详细的注释 ,如果有不懂的地方可以http://blog.csdn.net/a253664942/article/details/45676493中提问。

2015-05-12

Android自定义动画 3D旋转

Android自定义动画 3D旋转 在http: blog csdn net a253664942 article details 45601973中有详细解释 有问题可以给我留言

2015-05-09

Android仿QQ屏幕抖动

Android仿QQ屏幕抖动源码实例

2015-05-09

Android DialogFragment的使用方法

Android DialogFragment的使用方法 ,google官方推荐使用DialogFragment代替Dialog. 具体的详细解释可以在我的博客http://blog.csdn.net/a253664942/article/details/45585661中看看,有问题的可以我给留言!

2015-05-08

Android ListView分组和字母导航

Android ListView分组和字母导航 类似安卓手机联系人界面

2015-05-08

14天学会安卓快速入门PDF+源码

14天学会安卓快速入门PDF+源码 很不错的文档哦!

2015-05-08

Android 仿京东源码

Android 仿京东APP的源码 有很多不错的功能。可以参考一下!

2015-05-02

Android动画效果 添加购物车抛物线

Android动画效果 添加购物车抛物线 有问题可以到http: blog csdn net a253664942 article details 45157103留言

2015-04-20

Android自定义控件——圆形进度条

Android自定义控件——圆形进度条 代码中有非常详细的注释,如果有问题可以到http://blog.csdn.net/a253664942/article/details/45115407上留言

2015-04-18

Android自定义控件之音量控制器

Android自定义控件之音量控制器 有问题请到http://blog.csdn.net/a253664942/article/details/45017283上留言

2015-04-13

Android自定义控件——音量控制器

Android自定义控件——音量控制器。有问题请在http://blog.csdn.net/a253664942/article/details/45017283留言

2015-04-13

安卓智能de聊天机器人

安卓智能聊天机器人 使用 图灵机器人API接口 QQ聊天布局

2015-03-04

安卓幸运抽奖大转盘

安卓抽奖大转盘 一封装好 可以自己修改图片文字

2015-03-04

安卓智能聊天机器人

安卓智能聊天机器人 使用了图灵机器人的API 仿照QQ的布局

2015-03-04

空空如也

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

TA关注的人

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