自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 Ubuntu16.04数字小键盘不可用

安装Ubuntu16.04后发现键盘的数字小键盘不能用,变成了模拟小键盘操作,后面看到可以通过ctrl+shift+num lock键启用,然而我的键盘并不能找到num lock键,最后通过实践发现使用ctrl+shift+caps lock就可以了,简单记载一下。

2016-04-30 21:13:17 2964

原创 Android Support Design Library之CollapsingToolbarLayout

Android Support Design Library之CollapsingToolbarLayout

2016-04-29 16:38:24 317

原创 Android事件系统(2)ClickableSpan In Clickable TextView

ClickableSpan In Clickable TextView我在使用ClickableSpan时想实现以下功能,点击ClickableSpan进入事件1,点击TextView中剩余部分进入事件2,不幸的是,我发现在默认情况下,点击ClickableSpan区域会同时触发TextView的OnClick事件和ClickableSpan的onClick事件,而且在响应时,明显感觉到TextVi

2016-04-28 15:56:43 1290

原创 Android自定义View之ClickableImageSpan

Android自定义View之ClickableImageSpan在项目中遇到字符串中插入图片,经查找使用ImageSpan解决问题,但是最终发现由于ImageSpan并不继承自ClickableSpan导致其不能响应点击事件,这里我提供两种点击事件的解决策略:自定义ClickableImageSpanClickableSpan与ImageSpan重叠使用下面我们针对这两种办法进行介绍:Cli

2016-04-27 13:47:21 2178

原创 Android自定义View之View详解(1)

在Android中View的绘制过程是父级驱动制,Layout文件的根节点驱动其所持有的子结点进行测量并绘制,如果子View中有部分是ViewGroup,则该ViewGroup驱动自己的子View绘制测量,以此类推,整个Android系统是事件驱动型的。View的生命周期: 如下图所示,一个View的生命周期可以简单归类如下: 图片稍微有点问题,但大概意思就是这样。待续

2016-04-25 23:46:33 332

原创 Android源码分析之——下载并编译源码

Android源码分析之——下载并编译源码在正式开式前,先唠唠全程的几个坑,大家注意规避:Android源码编译时依赖于OpenJDK而不是OracleJDK不同的Android系统版本要求不同的OpenJDK版本目前Ubuntu14.04以下安装OpenJDK8有困难,建议升级系统(PS,我有中招)最重要的是你得有一个速度可靠的梯子(PS,我教的是利用国内镜像喔,使用梯子的请参考官网)大

2016-04-23 14:45:05 763

原创 MVP浅尝----从一个自定义View说起

在MVP模式里通常包含4个要素: (1)View:负责绘制UI元素、与用户进行交互(在Android中体现为Activity); (2)View interface:需要View实现的接口,View通过View interface与Presenter进行交互,降低耦合,方便进行单元测试; (3)Model:负责存储、检索、操纵数据(有时也实现一个Model int

2016-04-14 21:15:05 1574

原创 Android自定义View之网络图

新建项目,新建CircualRectView类继承自View,实现OnGlobalLayoutListener接口, 定义变量(RectModel为实体类):private Context mContext; private int mViewWidth,mViewHeight; private Paint mRectPaint,mTextPaint,mLinePaint;

2016-04-14 20:14:10 636

原创 Dagger2----一个最简单的Dagger2依赖的实现

Dagger2是首个使用生成代码实现完整依赖注入的框架,极大减少了使用者的编码负担,Dagger2分析所有依赖并生成代码将这些依赖组织在一起,关于更多的Dagger2理论介绍请移步详解Dagger2(中文版)Tasting Dagger 2 on Android(可能需要梯子)。本次我们主要介绍如何完成一个最简单的Dagger2依赖项目,其中包括dagger2的Gradle添加和最基本注入关系处理。

2016-04-13 22:31:35 1505

原创 Android沉浸式状态栏

新建项目,并新建 Abstarct BaseActivity继承自AppCompatActivity新建虚方法:public abstract void initView(Bundle saved); public abstract void initData();打开build.gradle文件,加入沉浸式状态栏依赖如下:compile 'com.readystatesoftware.sy

2016-04-13 11:24:35 646

原创 Android自定义View之仪表盘

新建项目,新建DashBoardView继承自View实现OnGlobalLayoutListener接口,并重写OnDraw方法。 使用OnGlobalLayoutListener接口需要重写onGlobalLayout方法,在这个方法中我们将获取View的宽高。新建如下变量:private Context mContext; private Paint mCirclePaint,mDe

2016-04-12 22:13:39 1101

原创 Android自定义View之音频条形图

新建项目,新建MusicRectangleView继承自View并重写onDraw和onSizeChanged方法,onDraw方法用于绘制矩形,onSizeChanged主要用于为矩形添加LinearGradient渐变,完整后新建变量如下:private Paint mPaint; public int mOffset = 10; public int mRectWidth ;

2016-04-12 17:52:01 1586 2

原创 Android自定义View之Layout的放缩(2)

只有一个子节点时可放缩的Framelayout,详细代码如下:import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.view.ScaleGestureDetector;impo

2016-04-12 15:57:18 878 4

原创 Android自定义View之闪动的TextView

Android自定义View之闪动的TextView利用LinearGradient实现TextView的色值的渐变渲染。LinearGradient简介LinearGradient mLinearGradient = new LinearGradient(0,0,mViewWidth,0,new int[]{Color.BLUE,0xffffffff,Color.BLUE},new float[]

2016-04-12 15:43:21 745

原创 Android自定义View之Layout的放缩(1)

Android自定义View之Layout的放缩在项目中遇到一个需要进行布局放大的需求,但是查找只找到了ImageView的放缩,后期经过查找资料,完成了该需求: 首先我们新建ScaleLayoutDemo并新建ScaleLayout继承自RelativeLayout 新建后的ScaleLayout代码如下所示:import android.content.Context;import and

2016-04-10 22:34:31 1328

原创 Retrofit2初尝问题汇总及解决方案(含Dagger2)

First:No Retrofit annotation found. (parameter #2)Solution Link: No Retrofit annotation foundSecond:java.lang.IllegalArgumentException: Service methods cannot return voidSolution Method:修改Service层返回值为

2016-04-10 03:22:07 4562

原创 Cordova安装Cannot find module 'bplist-parser'的错误

ubuntu搭建Cordova环境过程中碰到Cannot find module 'bplist-parser'的错误,详细信息如下:cordova -vmodule.js:341 throw err; ^Error: Cannot find module 'bplist-parser' at Function.Module._resolveFilename (module

2016-04-09 09:53:45 3532

原创 Android自定义View之圆形进度条

Android自定义View之圆形进度条尽管github上的开源圆形进度条已经很多了,但是我仍然希望能通过自己完成一个,接下来我就一步一步实现圆形进度条,今天我们要实现的效果图如下: 观察上面两幅图我们可以看到,这个图形是由两部分组成的中间的圆形+外围的弧形,我们自然而然的想到了用canvas画。想好就开始实践, 新建PercentDigitalView项目,新建view包,新建Perc

2016-04-08 23:05:43 588

原创 TextView 使用Selector设置颜色

TextView 使用Selector设置颜色新建text_color_selector.xml文件,修改内容如下:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_selected="

2016-04-07 14:09:25 839

原创 Android绘图基础

Android绘图基础了解前端的都知道H5里面有Canvas,Android里面也有Canvas,接下来我们会逐步使用Canvas来绘制一些基本图形,了解Canvas绘图机制。获取Canvas对象获取canvas对象有三种方式:重写View的onDraw方法自己创建Canvas对象,代码如下 Bitmap b = Bitmap.createBitmap(100,100, Bitmap.Conf

2016-04-06 21:09:00 337

原创 Android事件系统(1)

Android事件系统(1)我们都知道触摸屏幕可以得到应用响应,例如说我们点击屏幕中的一个按钮,可以弹出一个对话框或者吐司,那么这个触屏事件从产生一直到得到响应是如何在Android系统中传递的呢?接下来我们将用一段时间去阐述Android系统的事件分发处理流程。MotionEvent假设现在我们有如下需求需要去实现:监听返回键监听某一按钮的触摸事件实现一个随手指移动的TextView接下来

2016-04-06 13:30:05 621

原创 Android自定义View之圆形TextView

圆形TextView圆形TextView源码:public class CircleTextView extends TextView{ public static final String TAG = "CircleTextView"; private Paint mBgPaint = new Paint(); private Context mContext; Pa

2016-04-05 17:20:55 2063

原创 ListView的使用

Use ListViewListView是用于将子项展示成垂直滚动的一个控件,其子项通常来源于一个适配器(Adapter),其在界面上的一般情况如下图所示:接下来让我们一起实现一个简单的ListView的例子,打开Android Studio,新建ListViewDemo项目并修改其xml文件如下所示:<?xml version="1.0" encoding="utf-8"?><RelativeL

2016-04-05 13:27:28 314

原创 Android控件架构

Android控件架构我们经常编写Layout文件,通过Layout文件我们可以看到所有的View在界面上均占有一矩形区域,而我们可以把这种矩形区域(View)大致分为两类,即包含有小矩形区域的大矩形区域(ViewGroup)和单一的矩形区域(View),这种大小矩形相套的格局,自顶向下形成一种树形结构,我们可以将其称为View树.下图是我绘制的一幅简略的View树,以便大家更好地理解这种层次:

2016-04-05 13:21:50 297

Java并发编程常见问题

Java并发编程常见问题说明,包括Lock,synchronized,volatile等

2023-04-26

Android 非SDK API访问限制及常见开源库说明

Android 非SDK API访问限制及常见开源库说明,Hidden Api访问限制解除方案

2023-04-26

ScaleLayout

Scale Layout

2016-04-10

圆形TextView

可前往博客查看解释:http://blog.csdn.net/u010132993

2016-04-05

vc++mfc入门教程

mfcmfc适用于初学者,单个窗口程序,窗口类等

2013-06-21

空空如也

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

TA关注的人

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