自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FlowLeaf

Day Day up

  • 博客(89)
  • 资源 (26)
  • 问答 (2)
  • 收藏
  • 关注

原创 按周显示的日历和按月显示的日历,你需要吗

周日历地址: https://github.com/LineChen/Week_Calendar实现WeekCalendar是一个继承LinearLayout的ViewGroup,而不是一个View,显示方式完全由使用者控制,类似ListView使用。关于布局:*WeekCalendar是继承自LinearLayout,内部主要有两个直接子控件,星期Layout和日期Layout。星期Layout是

2017-05-26 13:58:54 8871 2

原创 一个好用的多选菜单

效果图自定义属性 属性名 说明 默认值 mm_tabHolderHeight tab所在layout高度,必填 48dp mm_tabHolderColor tablayout背景色 0xffffffff mm_underLineHeight tablayout底部线条 0.6dp mm_underLineColor tablayout底部线条颜

2017-03-23 18:27:54 1351

原创 Andriod Scroller使用小结

View的滚动为了记录滚动位置,View里面定义了两个成员变量: * The offset, in pixels, by which the content of this view is scrolled * horizontally. * {@hide} */ @ViewDebug.ExportedProperty(category = "scrol

2016-11-25 17:20:41 2076

原创 自定义ViewGroup-堆叠头像的点赞Layout

简介这样的点赞列表怎么样?之前做社区的时候也有类似的点赞列表,但是没有这样重叠,一个小小的改变,个人感觉逼格提高不少。这个很有规则,就是后一个头像会覆盖一部分到前一个头像上,头像多了就像一串糖葫芦了。这个实现起来不难,自定义ViewGroup,关键重写onLayout方法。我直接在AutoNewLineLayout基础上修改的。关于自定义控件的基础知识可以看一看这个,整理的很详细: https:/

2016-11-22 18:30:12 4432

原创 Toolbar动态改变menu

关于Toolbar的使用网上有很多介绍了,这里不赘述了。1.Toolbar主题一般使用系统的主题ThemeOverlay.AppCompat.Dark.ActionBar。也可以自定义主题:<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar"><item name="titleTextC

2016-11-07 21:33:12 4779

原创 GridView嵌套在ViewPager中,ViewPager嵌套在ScrollView中不显示

1.问题描述ViewPager中的page是GridView,ViewPager嵌套在ScrollView中,ViewPager设置高度为MATCH_PARENT或者WRAP_CONTENT都不显示。2.解决方法2.1 方法1网上提出的解决方法是设置ViewPager的高度为固定值。确实这样可以显示,但是这个固定值不好控制,不像一些广告banner可以设置固定的值,这里的item是GridView,

2016-11-06 12:38:22 1848 1

原创 Android应用中打开百度地图、高德地图、网页版百度地图

1.需求在Android应用中打开百度地图或者高德地图进行路线规划,如果没有安装则打开网页百度地图进行路线规划。2.API2.1 打开百度地图应用地址:http://lbsyun.baidu.com/index.php?title=uri/api/android打开文档可以看到功能还是很多的,这里只介绍 公交、驾车、导航、步行和骑行导航注:必选项一定要填2.2 打开浏览器并跳转到网页百度地图 参

2016-10-20 10:53:08 17133 3

原创 自定义LinearLayout实现淘宝详情页

1.简单说明淘宝详情页就不用我一一介绍了,昨天逛淘宝看到这个效果时,让我想起了去年刚学习Android只会使用现成的时候,当时在网上找了一个这种效果的使用了,并不懂怎么实现的。现在就看到一种效果就想自己实现一下,我想这就是刚接触某个知识时的好奇心吧说走咱就走啊,本文只是介绍一种实现思路,网上也已经有了很多种实现方式,有问题请指正效果图(我有很用心的找美女图的) 2.实现思路继承LinearL

2016-09-29 16:36:55 3990 1

原创 Android绘制一条宽度逐渐变大的路径

1.介绍先看一下效果图用过电脑版印象笔记演示功能的应该知道这个效果,现在想在手机上实现一下,当然这个是最终的目标,这篇只是介绍实现过程中的一步 —— 绘制一条宽度逐渐变大的路径2.实现2.1完成图2.2思路把一条路径分成很多段,每段path首尾相连,然后依次设置每一段path的宽度,把这些path存储在一个集合中,最后依次绘制出来。2.3把一条path分成多段path的方法这里要使用到PathM

2016-09-27 13:04:55 2706 2

原创 Android 仿应用宝下载进度条-性能测试与进度绘制修改

一件开心的事:哈哈哈,先容我高兴一会。就在昨天,当我打开csdn博客的时候,发现了一件让我激动了半天的事,就是那个男人竟然关注了我,关注了我,关注了我。有图有真相: 这感觉无法言表,不说了,我去敲几行代码掩饰一下内心的喜悦。对于FlickerProgressBar请看:Android 仿应用宝下载进度条 1.问题描述1.1提出问题在FlickerProgressBar实现过程中对于进度的相关绘制有

2016-09-19 10:13:43 3440 10

原创 LeafChart(4)-绘制动画曲线图

1. 介绍了解更多请看: LeafChart-实现自己的小型图表库(1) LeafChart-实现自己的小型图表库(2) LeafChart(3)-绘制直方图 LeafChart已经支持曲线图和直方图了,现在想升级一下,比如说来个动画绘制啊。之前使用过HelloChart的曲线图,它的动画效果是这样的本来想借鉴一下动画效果的实现,可是我想要的动画效果不是这样子。先睹为快 我想要的动

2016-09-12 10:43:04 2034 11

原创 LeafChart(3)-绘制直方图

1. 简介前两篇简单介绍了这个自定义图标库。 LeafChart-实现自己的小型图表库(1) LeafChart-实现自己的小型图表库(2) 之前LeafChart只支持曲线图,现在在之前的基础上,添加了直方图。1.1 效果图 1.2 设置直方图宽度边框宽度、颜色是否填充是否有标签标签背景色、弧度2. 实现2.1 类介绍为了更简便的控制直方图的属性,定义直方图类Square,

2016-09-12 09:50:09 1323

原创 实现类似新浪微博帖子显示(2)——话题、@好友、表情解析工具类

一、介绍这是新浪微博的一个帖子,刚好包括了话题、表情、@好友三种显示。显示方法上篇已经阐述了,就是使用SpannableString。这篇主要介绍显示这种帖子的解析工具类。二、实现1.字符串表示和对应正则表达式话题用##号括起来表情用[]表示@好友昵称借助正则匹配来解析帖子信息。话题 -> #[^#]+#表情 -> [[^]]+]@好友 -> @好友昵称2.写一个通用方法,对spa

2016-09-09 14:55:14 3325 1

原创 实现类似新浪微博、QQ空间等帖子显示(1)——SpannableString说明

TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,实际应用中用的比较多的地方比如聊天时显示表情啊,朋友圈或社区中话题的显示、@好友显示和点击等等,关键字显示不同颜色……BackgroundColorSpan 背景色ClickableSpan 文本可点击,有点击事件Foreg

2016-09-09 11:37:41 1181 1

原创 Android 仿应用宝下载进度条

一、介绍一个横向进度条下载完成区域有一个滑块不断从左往右滑动(最开始就是被这个吸引的,就想着这个怎么实现的)进度条中间显示当前进度,值得注意的是,进度条文本包含在下载区域中的部分显示为白色点击暂停,进度条颜色改变,进度文本改变二、分析根据以上简单介绍,可以抓住要实现的重难点是上面的第2、3点。 1. 进度条文本包含在下载区域中的部分显示为白色怎么实现?这个和歌词变色的效果是一样的,所以实

2016-08-30 10:34:20 11412 25

原创 自定义圆形图片、可控位置圆角图片

一.原理1.下面的Xfermode子类可以改变这种行为: AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。 PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素XOR操作。 PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条来控制

2016-08-23 11:27:39 1812 2

原创 自定义ViewGroup-自动换行Layout

一、继承ViewGroup需要做的重写onMeasure() 不仅要完成自己的measure过程,还要完成子View的measure过程。重写onLayout() 用来确定子View的位置。重写generateLayoutParams() 当在LinearLayout中写childView的时候,可以写layout_gravity,layout_weight属性;在 Relativ

2016-08-18 21:56:55 5451

原创 Android实现多张图片合成GIF

工程地址:https://github.com/LineChen/GifMaker工具类:public static String createGif(String filename, List<String> paths, int fps, int width, int height) throws IOException { ByteArrayOutputStream ba

2016-08-04 20:32:37 8519 13

原创 LeafChart-实现自己的小型图表库(2)

一. 设计上次写的七日化利率表设计很粗糙,也没有体现面向对象的思想。数据处理都在控件中,而且表格列数比较固定,对于数据和列数不匹配的情况,只能从左向右依次显示数据。另外扩展性很差。根据图表的属性,分别抽象出坐标轴、坐标刻度、点、线等类。所以在使用的时候初始化这些数据就可以控制图表的展示。抽象出折线统计图和条形统计图公共部分AbsLeafChart,这个类主要处理了控件的有关尺寸、初始化坐标轴和

2016-07-26 21:26:32 2147 6

原创 LeafChart-实现自己的小型图表库(1)

比较优秀的开源图表库有很多,比如MPAndroidChart,HelloCharts… 但是在实际工作中很少能直接使用这些库就能实现项目需求。当然,直接改源码是可以满足的,不过有时候自己写一个可能一劳永逸,随着产品的更新,需求难免会改动,自己写的东西总会好改一点。最近项目中就有一个统计表,为了省事,直接用了HelloCharts,刚开始主要是为了把功能实现,到后来功能是实现了,UI就难改成需要的了。

2016-07-17 11:55:01 1474

原创 自定义View-七日利率折线图

好久没写过博客了,主要是前一段时间一直在找工作,也没有时间去静下心来写这个(都是借口)。最近一直在看自定义View相关的东西,因为这个不太会啊,一般想用的时候第一反应是去网上找有没有类似的,但是如果想自力更生,还是靠自己啊,万一项目哪天来个毁天灭地的需求,一点不会,还想要工资吗?看了一些相关的自定义控件,基本步骤都差不多,这次想分享的是一个七日划利率折线图。效果图1:(不带阴影的) 效果图

2016-01-18 21:03:19 1296 1

原创 Android四大组件-BroadcastReceiver

一、简介1.定义:广播接收器,即接收通过某一频道(Action)发送的广播,发送者可以是Activity和Service。2、作用: 1) 监听系统的广播,并做相应的处理,如电量过低时需要保存相关数据,或发出通知警告用户 2)后台运行的服务,如经过耗时操作后,获取了网络数据,通过广播的方式通知用户。3、常用的系统广播:注意:系统广播要严格按照官方API的说明方式使用 1)Intent.ACTI

2015-10-17 00:34:16 551

原创 图片的二次采样

1.为什么要进行图片的二次采样?主要是避免OOM。假设客户端需要加载一张图片,图片尺寸为3000*3000(单位/像素),那么计算一下,如果客户端想显示原图,按一个像素四个字节算, 3000 * 3000 * 4 / 1024 / 1024 = 34 M,想想看客户端一个应用程序的运行内存就十几M,你一下显示一个30多M的图片,直接crash了。2.怎么解决?这里就需要对图片进行二次采样。 原

2015-10-16 00:22:04 3241

原创 ListView异步加载图片--图片缓存和错位问题解决方案

问题1: 加载太多的图片很容易造成OOM异常。一、图片缓存方法1:使用二级缓存 ->自己维护一个缓存区 只要有足够的内存,就一直保持对象,直到发现内存吃紧且没有Strong Ref时才回收对象。 所以可以这么做:map里面的键是用来放图片地址的,既可以是网络上的图片地址,也可以SDcard上的图片地址, map里面的值里面放的是持有软引用的Bitmap.private Map<St

2015-10-11 19:28:33 4913 5

原创 ViewPager使用详解1

一、简介1.特点:可以左右滑动的控件,需要PagerAdapter配合使用,由v4包提供 类全名: android.support.v4.view.ViewPager2.作用:ViewPager作用主要是能使界面左右滑动。比如最常用的使用是做一个引导界面;多张图片的预览或自动变换的图片展示(如淘宝首页面上的广告);viewpager还可以结合fragment作为主界面框架(如微信主界面)。。。3.

2015-09-19 23:26:37 2884 2

原创 从源码角度看Handler原理

在Android中,有一个规定就是除了主线程,其他线程不能操作UI视图,因为不这样做的话会出现线程不安全问题。但还有一个规定UI线程在执行一个操作如果5秒内没有响应就会包ANR错误。所以UI线程中不允许访问网络这样的耗时操作,那么问题来了,子线程执行耗时操作,比如从网络获取图片,但子线程不能更新UI,而主线程能更新UI,但不能去下载图片。这样handler消息处理机制就出现了。1. Handler

2015-09-17 23:36:38 1141 3

原创 Android数据持久化

Android数据持久化1.内部存储1:1)SharedPreferences :共享参数,使用简单,使用xml格式存储,一般用来存储系统设置。 目录:data/data/{包名}/shared_prefs//使用共享参数保存数据 public void saveData(View v) { //获取共享参数对象 //第一个参数是共享参数文件的名字

2015-09-12 23:58:18 700

原创 Android四大组件-ContentProvider

ContentProvider:内容提供者ContentProvider简介: 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpre

2015-09-11 23:27:59 3610 7

原创 Android 通知使用小结

**通知Notification** **一、通知的基本使用** 1)使用v4包里的NotificationCompat.Builder构建器来构建通知.第一步:实例化通知栏构造器NotificationCompat.Builder创建通知的构建器对象: NotificationCompat.Builder builder = new NotificationCompat.Bu

2015-09-10 23:14:18 956 1

原创 DialogFragment和ListFragment使用

1.DialogFragment--继承了Fragment的对话框DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。 在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog.Builder和Dialog。注:官方不推荐直接使用

2015-09-10 23:04:35 1865 1

原创 Android校招笔试-1

1.Intent传递数据时,下列的数据类型不可以被传递的是DA SerializableB FileC ParcelableD Thread2.使用Toast提示时,关于提示时长,下面说法正确的是A.A 显示时长只有2种设置B 可以自定义显示时长C 传入30时,提示会显示30秒钟D 当自定义显示时长时,比如传入30,程序会抛出异常3.Android系统对下列哪些对象提供了资源池AC A Messa

2015-09-10 17:42:20 1799

原创 Fragment生命周期和使用小结

Fragment: 碎片,是一种可以嵌在活动中的UI片段. 1.静态:在布局文件定义一个 <fragment android:id="@+id/fragment1" android:name="com.example.gp08_day23_fragment2.fragment.TestFragment" android:layout_width="wra

2015-09-10 00:09:33 837 2

原创 Android对话框使用小结

--AlertDialog --对话框结合适配器使用----普通使用----设置为单选模式----设置为多选模式-------两个数组,一个数组是item,一个数组是选择默认哪些选项被选中----使用自定义布局--对话框和菜单的结合使用1)简单使用//创建对话框构建器对象 AlertDialog.Builder builder = new AlertDialog.

2015-09-09 23:41:25 667 1

原创 Android菜单使用小结

1.菜单: –系统菜单 —-onCreateOptionsMenu –onOptionsItemSelected —-为系统菜单添加图标 –上下文菜单:基于UI视图的 —-1.为UI视图注册上下文菜单:当在视图上长按时,会创建上下文菜单 —-2.重写onCreateContextMenu() —-3.重写onContextItemSel

2015-09-09 23:21:52 810 1

原创 GridView横向显示 实现图片预览

先附效果图: 实现原理:布局文件中在GridView外套一层HorizontalScrollView1) 定义主界面布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:la

2015-09-08 23:45:01 3073

原创 Intent使用小结

一、Intent简介:Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。二、

2015-09-03 08:23:02 834

原创 数据库校招笔试题(1)

事务的持续性是指?A A.事务一旦提交,对数据库的改变是永久的 –持续性 B.事务包括的所有操作要么都做,要么不做 –原子性 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 –隔离性 D.事务必须是使数据库从一个致性状态变到另一个致性状态 –一致性2.以下哪个选项时DBMS的基本单位,是构成单一逻辑工作单元的操作集合C A.进程 B.SQL C.事务 D.文件3.SQL

2015-09-02 22:03:46 7662 1

翻译 Android四大基本组件-Service详解

一、官方文档Class Overview A Service is an application component representing either an application’s desire to perform a longer-running operation while not interacting with the user or to supply functiona

2015-08-30 13:30:57 1677 1

原创 Android-Activity的四状态、七生命周期、和四启动模式

一、四大基本组件简介: Android四大基本组件:Activity、Service、Content Provider、Broadcast Receiver Activity:活动视图 一个负责与用户交互的显示界面的组件。 Service:服务:一个没有界面、运行在后台的服务。 Content Provider:内容提供者,一个应用程序可以使用Content Provider来共享自己的数

2015-08-28 19:31:46 7708 3

原创 Android系统架构、JVM和DalvikVM的区别

一、系统框架 1.Anroid大致分为四层结构,五块区域 1)应用程序层(Applications) 所有安装在手机上的应用程序都属于这一层。 2)应用程序框架(Application Framework) 提供大量的API供开发人员使用,Android自带的一些核心应用就是使用这些API完成的。 3)函数库(Libraries) —Surface Manager:管理对显示子系统的访

2015-08-28 19:02:49 3324

七日利率折线图

七日化利率折线图. 自定义View

2016-01-18

广播接收者-3

广播接收者的使用,包括普通广播、有序广播和本地广播的使用

2015-10-17

广播接收者-2

广播接收者的使用,包括普通广播、有序广播和本地广播的使用

2015-10-17

广播接收者-1

广播接收者的使用,包括普通广播、有序广播和本地广播的使用

2015-10-17

图片二次采样

加载大图片时,对图片进行二次采样

2015-10-16

ListView加载图片处理错位的几种方法、图片缓存、listView简单动画

ListView加载图片处理错位的几种方法、图片缓存、listView简单动画

2015-10-11

viewpager使用

viewpager的简单使用,包括用viewpager制作欢迎界面,结合fragment做主界面

2015-09-19

handler简单使用

handler简单使用

2015-09-17

Android数据持久化

Android数据持久化,SharedPreferences 、内部存储、外部存储、数据库简单使用

2015-09-12

ContentProvider使用

ContentProvider使用,包括简单的使用和自定义ContentProvider

2015-09-11

android 通知使用实例

android 通知使用实例

2015-09-10

DialogFragment和ListFragment使用

DialogFragment和ListFragment使用

2015-09-10

fragment 使用小结

fragment基本使用、生命周期、横屏竖屏显示不同布局

2015-09-10

Android菜单、对话框使用实例源码

Android菜单、对话框使用实例源码,,基本使用

2015-09-09

GridView横向显示

GridView横向显示

2015-09-08

intent使用源码

intent使用源码实例.

2015-09-02

Activity生命周期 启动模式实例

Activity生命周期 启动模式实例

2015-08-28

Java实现二叉树的相关操作

Java实现二叉树的相关操作.

2015-08-22

volley框架jar包和介绍文档

volley框架jar包和介绍文档

2015-08-16

深入理解Java虚拟机:jvm高级特性与最佳实践

深入理解Java虚拟机:jvm高级特性与最佳实践

2015-07-12

DrawerLayout实例

Android 侧滑栏抽屉式布局DrawerLayout实例。

2015-07-12

service用法实例

service的基本用法

2015-05-18

mina服务器--实现纯文本和非纯文本的加密通讯

mina服务器--实现纯文本和非纯文本的加密通讯

2015-04-21

仿微信好友列表

仿微信好友列表,

2015-04-20

对称加密 非对称加密 需要的jar包

对称加密 非对称加密 需要的jar包

2015-04-19

mina 多路分离解码

mina 多路分离解码

2015-04-17

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

TA关注的人

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