自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (6)
  • 收藏
  • 关注

原创 android 自定义控件之QQ气泡

  本篇文章主要是一个对贝塞尔曲线以及Path的一个应用,仿照QQ做了一个气泡的效果,效果如下:     首先实现这个效果的主要步骤 (1)绘制出QQ气泡静止时候的样式 (2)绘制出当手指拖动时候相连接的样式 (3)超过一定距离气泡炸裂的样式 下面进行详细的讲解,首先第一步我们通过Canvas.drawCircle()以及drawText()方法绘制出气泡和气泡上的文字 can...

2018-10-23 15:11:21 1000

原创 android UI之Path

     Path作为UI绘制的重要的一个类,在官方文档上对于的介绍如下:     Path封装了由直线段,二次曲线和三次曲线组成的复合几何路径,它可以用canvas.drawPath()进行绘制,填充,描画,或者可以用于剪切或者绘制路径上的文字。    下面关于它常见的API进行一个简单的记录: 方法 讲解 lineTo(float x, float y) 绘制直线,连接上...

2018-10-22 16:27:49 848

原创 androidUI之贝塞尔曲线

     贝塞尔曲线是一种通过很少的控制点能够生成复杂的平滑的曲线,最早是通过一位法国工程师广泛宣传,用来辅助汽车车体的工业设计。目前除了工业领域,在计算机图形学领域,尤其矢量图像中。     其本质是一种算法,通过这种算法我们可以绘制出其中曲线,贝塞尔曲线分为一阶贝塞尔曲线和多阶贝塞尔曲线。    一阶贝塞尔曲线-一条直线,共有一个起始点和终点没有控制点       二阶贝塞尔曲线,一个...

2018-10-18 21:02:30 453

原创 UI之测量原理

  上一篇文章UI之Activity启动流程介绍了Activity从启动到屏幕可见的流程,Activity是通过发送Handle消息反射创建除了Activity,并调用Activity的各个生命周期,在onCreate中加载了系统原始View-decorView,并解析了自己布局的xml保存至LayoutParams中,在handleResumeActivity中就开始了具体的UI绘制流程,最终将...

2018-10-12 18:10:49 557

原创 UI之Activity启动流程

    上一篇文章自定义UI-1UI的绘制原理之setContentView 主要介绍了我们在setContentView的时候系统主要帮我们做了两件事,一是:加载一个DecorView作为最底层的View,二是解析我们的布局Xml。那么到底系统是如何将我们自己的布局放置于DecorView中并显示在屏幕上的呢。那么我们可以从startActivity开始我们查看下Activity启动系统帮我们做...

2018-10-09 18:23:09 428

原创 UI之setContentView

    在日常的开发过程中我们知道通过setContentView()就能将我们自己的布局加载在屏幕之上,今天我们的目的是通过源码来分析setContentView中到底是通过何种方式将我们的UI显示出来的。     通过源码分析setContentView实际的实现是进入到了Window的实现类PhoneWindow.setContentView(): @Override pu...

2018-10-08 11:57:48 1283

原创 android 自定义属性

在日常的开发工作中,我们常常需要自定义View,当然这篇文章不是用来记录自定义View的,而是用来记录自定义attribute的,这也属于android开发的基础部分,在这里只是做个简单记录,下面开始自定义属性的四部曲 第一部:定义属性     定义属性的时候有两个关键标签和一个关键属性,他们是:<declare-styleable> 、<attr>以及format属性...

2018-07-29 16:04:42 409

原创 Http之Content-type

content-type 也叫MIME类型,是用来描述请求中媒体类型消息,定义于消息头中。常见的媒体类型有如下:text/html:html格式text/xml:xml格式text/plain:纯文本格式image/gif:gif:图片格式image/jpeg:jpg:图片格式image/png:png:图片格式application/xml:xml数据格式application/json: js...

2018-07-15 10:03:02 1921

原创 android OKHttp之日志拦截

    OkHttp的日志拦截通过HttpLoggingInterceptor对象进行拦截,该对象并不存在OkHttp包中,需要单独引用logging-interceptor包。compile 'com.squareup.okhttp3:logging-interceptor:3.6.0'   创建 HttpLoggingInterceptor对象,进行日志打印HttpLoggingInterce...

2018-06-28 21:01:13 2349

原创 android 组件化和模块化开发模式切换

一.名词解释    模块化:模块是APP的组成部分,所有的模块组装起来便是一个完整的APP    组件化:使模块能够单独运行为组件化二.模块化与组件化的差别    (1) 类型不同    模块:com.android.libray    组件:com.android.application    (2)有无applicationId    模块:无    组件:有  (3)有无启动页    模块:...

2018-06-28 20:37:29 1221

翻译 android UI之RecyclerView

    本篇文章是在使用RecyclerView的过程中对官方文档的翻译,由于英语水平的局限可能有的表述不太准确,后续会更新。    原文地址RecyclerView    总体来说RecyclerView是ListView的优化升级版.RecycleView中重要的组成部分包括:LayoutManager,RecycleView.ViewHolder,ReLayoutManager       ...

2018-06-15 20:10:59 274

原创 python 中各种简单的代码写法

该篇博客主要记录python中各种简单的代码的写法,持续更新: 1.lambda: 它主要是简化函数的定义。在一般情况下我们定义一个函数通常是: def test(x): return x+1 而是用lambda可以简化为: test =lambda x:x+1 print(test(1)) print(test(2)) 输出结果: 2 3 2.rang

2018-01-11 20:11:58 19180

原创 python format的各种用法

新接触的python,这个语言对于我这个出入门的人来说感觉就一个词:amazing,有很多神奇,简略的写法是其他语言中不曾有过的,今天在这里主要是记录一下python中format的基本用法,用法的特点是:只有你想不到,没有它做不到的 今天暂时在这里记录8种用法,在日后的学习中如果再碰到新的用法,再更新 1.位置 name='John' age=12 print('{0} is {1}

2018-01-11 14:50:02 4585

原创 XUtils 简单实现

学习Xutils时候关于ViewUtils的简单笔记

2017-12-01 11:28:42 272

原创 android三种XMl解析

android一共提供了三种XMl解析的方式,分别为:SAX解析,Pull解析,DOM解析。 第一种:SAX解析:  SAX是驱动型的xml解析,对文档进行顺序扫描,当扫描到document开始,元素的开始与结束,文档结束等地方通知相关处理事件处理函数,处理完函数之后继续进行扫描直到文档结束  实现步骤:通过SAXParserFactory得到一个SAXParser解析器,将文件

2016-12-07 20:44:57 3605 1

原创 mac android配置adb

mac 配置adb 1.打开终端 2.进入home目录    cd $HOME 3.更新或创建.bash_profile文件    touch .bash_profile 4.打开改文件    open -e .bash_profile 5.添加你idk的tool以及platform-tools目录   export PATH=${PATH}

2016-05-13 10:30:34 393

原创 Android 广告轮播图

package com.view; import android.content.Context; import android.media.Image; import android.os.Handler; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import

2016-05-13 10:22:35 468

转载 身份证验证

身份证验证,包含两种一种是简单的验证,一种是根据国家有关规定进行验证 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import jav

2016-04-19 14:00:42 703

转载 as提升速度

Android Studio 启动速度优化 1、开启 gradle 单独的守护进程 当 Android Studio 遇到错误的时候,往往会导致 Android Studio 挂掉,为了防止退出程序,则另外开启一个线程来守护 Android Studio 的进程,具体操作。 在 C:\Users\.gradle 这个目录下,创建 gradle.properties 配置文件,复制以下配置进

2016-03-23 16:04:07 461

原创 android DisplayMetrics

android手机获取手机屏幕的相关信息 //获取手机屏幕相关信息 DisplayMetrics dm=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); Log.e("msg", "屏幕高度="+dm.heightPixels);

2016-02-17 11:06:53 590

转载 android 不错框架

1、volley 项目地址 https://github.com/smanikandan14/Volley-demo  (1)  JSON,图像等的异步下载;  (2)  网络请求的排序(scheduling)  (3)  网络请求的优先级处理  (4)  缓存  (5)  多级别取消请求  (6)  和Activity和生命周期的联动(Activity结束时同时取消所有网络请

2016-01-05 09:30:38 356

转载 android 自动获取短信验证码

转载于:  http://www.cnblogs.com/top5/p/3421049.html 前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码。 主要就是实时获取短信信息。 android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就Br

2015-07-07 12:05:11 697

转载 android - lint 常见错误

 错误编码  错误说明      举例 40    变量未声明  506    固定的Boolean值     char c=3;             if(c 525    缩排格式错误  527    无法执行到的语句    if(a > B)             return TRUE;             else              retur

2015-06-02 11:31:32 5194

原创 android 随记1 Dialog和输入法

如果Activity已经显示输入法了,想让Dialog显示是输入法不隐藏 ,这个时候调用AlertDialog,就能实现Dialog和输入法的共存

2015-05-07 15:41:30 603

原创 android 判断输入法是否打开

 if (getActivity().getWindow().getAttributes().softInputMode == WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE) {    InputMethodManager imm = (InputMethodManager) getActivity().getApplicati

2015-04-27 14:36:49 1461

转载 spannableString设置常见的复合文本

 http://orgcent.com/android-textview-spannablestring-span/#ClickableSpan

2015-04-11 15:44:22 422

原创 如何在android style/layout文件中使用自定义属性。

自定义属性:                        Style:引用自定义属性           #ddd         #f6f6f6     //此处并不需要引用报名,或者定义命名空间 layout:中引用                       style="@style/ftest"                   

2014-12-02 16:32:43 800

原创 多Fragment嵌套是如何调用父Fragment的onActivityResult()方法

多Fragment嵌套是,父Fragment的onActivityResult方法不会被调用,如果需要

2014-11-18 15:14:51 706

原创 @SuppressWarnings()的参数

@SuppressWarnings(“unchecked”) @SuppressWarnings(“”)

2014-06-19 14:20:57 3409

原创 Android自定义标题栏

Android开发中,系统定义的标题栏往往满足

2014-06-18 12:50:26 515

原创 TextView自动识别电话,邮箱,电话

TextView自动识别电话,邮箱,电话,并给出相应操作,只需要在TextView中添加TextView自动识别电话,邮箱,电话

2014-06-18 11:40:50 687

guava不可修改集合

Immutable(不可变)集合 是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。

2014-05-27

基于Viewpager实的android 轮播

一个基于Viewpager实现的轮播图,之前找过很多资源都不太理想,这一份还是不错的,代码量少功能完善

2016-07-05

android 发送语音消息

模仿微信按住发送语音,只是个简单的例子,希望能给大家带来帮助

2015-01-08

MyViewUtils

模拟xUtils中自定义封装的ViewUtils,可以进行布局绑定,控件初始化,以及事件的绑定

2017-12-01

android xml三种解析方式

实例代码提供了三种xml解析方式

2016-12-07

Android 帮助文档

Android 帮助文档 帮助新手快速入门Android移动开发。

2014-05-30

空空如也

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

TA关注的人

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