自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Android架构--MVC、MVP、MVVM

前言MVC、MVP、MVVM是当下Android开发中主要的项目架构,当你开发一个app时,合理的软件架构有利于后期的维护。Android开发中我们可以选择的架构只有以上三种,三种架构各有优缺点,我们可以从中选择最合适我们的架构。MVCMVC(Model-View-Controller)是最常见的软件架构之一,也是我们刚开始做Android开发选用的架构。 数据关系为: - View接收用户交互

2017-11-15 09:16:16 430

原创 Android底部导航BottomNavigationBar的使用

前言Android的底部导航栏,如下图 其实有多种实现方式,可以用RadioGroup,LinearLayout+TextVIew,也可以用TabHost实现。Google官方一直没有现成的导航组件。但是Google在自己推出的Material design中增加了Bottom Navigation导航控制,下面附上Google官方的BottomNavigationBar的链接https://

2017-11-10 09:15:39 3336 1

原创 自定义ViewGroup(0)

ViewGroup的职能Google官网上给出的ViewGroup的功能如下:*A ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. This class also

2017-11-08 15:24:48 301

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

好几天不写博客了,这段时间一直没时间,感觉一直在忙,但是进度不大。 好了,言归正传,最近项目里要用到这么一个自定义view,是一个圆形的进度圆环,现在学习下怎么来自定义它。 源码下载地址https://github.com/baojie0327/ViewAndGroup自定义之前先分析一下,这个自定义View主要有以下几个部分组成: - 最外层的圆环 - 圆环上的小圆点,会随着进度移动 -

2017-11-06 09:55:56 392

原创 自定义View(三),仿小米运动计步

前面主要说了自定义View的一些知识,这篇文章主要是利用自定义View做一个仿小米运动计步功能的控件,如下图所示: 分析一下思路: 1.画背景 2.画一个最外部的圆 3.画圆上的小圆点 4.画竖线,环绕一周 5.画圆环 6.画文字 7.添加动画 为了可以自定义各个控件的显示效果,自定义View的属性还是必要的。自定义属性自定义属性主要是自定义了各个部件的颜色,format是该属

2017-10-30 09:52:39 1150

原创 自定义View(二)

前面说过了,自定义View主要有下面三种: 1.对现有控件进行扩展 2.通过组合实现新的控件 3.重写View实现全新控件对现有控件进行扩展扩展了一个TextView,有内外两个矩形组成。代码如下:public class MyTextView extends TextView{ private Paint mPaint1,mPaint2; public MyTextView(Co

2017-10-28 10:06:41 245

原创 自定义View(一)

写在前面Android已经为我们提供了丰富的组件库,让我们可以实现各种UI效果。但是如果如此众多的组件还不能满足我们的需求,怎么办呢?别急,android组件也为我们提供了非常方便的拓展方法,通过对现有系统组件的继承,可以方便地实习那我们自己的功能。 自定义View作为Android的一项重要技能,一直以来被初学者认为是代表高手的象征,这篇文章就带大家了解下自定义View的过程。自定义View的分

2017-10-28 10:05:32 240

原创 Android自定义控件(二 .3)Path贝塞尔曲线

前一篇文章讲了Path绘制直线以及各种基本图形,这篇文主要说Path绘制曲线,就是曲线中非常有名的贝赛尔曲线。 贝赛尔曲线是由法国数学家Pierre Bézier所发明,由此为计算机矢量图形学奠定了基础。它的主要意义在于无论是直线或曲线都能在数学上予以描述。 贝塞尔曲线作用十分广泛: - QQ小红点拖拽效果 - 一些炫酷的下拉刷新控件 - 阅读软件的翻书效果 - 一些平滑的折线图的制作

2017-10-27 10:02:20 287

原创 Android自定义控件(二 .2)Path的基本操作

前面http://www.jianshu.com/p/35765aa6f7d9 所讲的绘制的图形都是基本的简单图形,如矩形,员,圆弧等。如果对于一些复杂的图形(五角星,心形)的绘制,前面的绘图方法就无能为力了。而使用Path不仅可以绘制简单的图形,还能复制一些复杂的图形。 Google官网上Path的链接为:https://developer.android.google.cn/reference

2017-10-27 09:59:20 299

原创 Android中的坐标体系

Android中的坐标体系和数学中的坐标体系 移动设备一般定义屏幕左上角为坐标原点,向右x方向增大,向下y方向增大,所以和数学中的坐标体系还是有差别的,如下图所示: 所以,实际上的屏幕坐标是 - View的坐标体系View的坐标体系是相对于父控件而言的,主要包括以下四个方法: getTop(); //获取子View左上角距父View顶部的距离 getLeft();

2017-10-26 10:50:48 329

原创 Android Studio使用技巧,提高你的开发效率

2013年5月16日,在I/O大会上,谷歌推出新的Android开发环境—— Android Studio ,到现在的2.3版本,本人目前使用的是2.2.2版本,个人感觉还是挺好用的。并且知道,谷歌也将不在支持更新eclipse和ADT,取而代之的是android studio 的 gradle。好了,这篇文章就是总结了Android Studio常用的技巧和快捷键,方便大家在使用的时候提高开发效率

2017-10-26 10:48:16 625

原创 Android自定义控件(二 .1)Canvas的操作

Canvas的操作可以帮助我们更好的画图。 要学习Canvas的用法,可以访问Google官网,https://developer.android.google.cn/reference/android/graphics/Canvas.html Canvas操作主要有以下几种: 操作 方法 备注 位移(translate) translate(float dx, float d

2017-03-28 09:52:07 499

原创 Android自定义控件(二)View的绘制

android的图形的绘制,主要用到Canvas。 google官网上已经给出了Canvas的用法,https://developer.android.google.cn/guide/topics/graphics/2d-graphics.html - Canvas类具有画图的能力,如果你想画图,要具备四个部件。 1.Bitmap控制像素 2.Canvas控制绘图请求 3.一些绘图的方法,

2017-03-23 10:11:10 573

原创 滑动冲突之外部拦截法

前一篇文章介绍了Android的事件分发机制,这一篇文章主要说一下View的滑动冲突和使用外部拦截法来解决滑动冲突问题。  外部拦截就是点击事件先经过父容器的拦截处理,如果父容器需要此事件就拦截,如果不需要就不拦截。 外部拦截法需要重写父容器的onInterceptTouchEvent()方法。 这种方法的伪代码如下:public boolean onIntercept

2016-08-31 10:12:11 2105

转载 Android事件分发

事件分发是Android中非常重要的机制,是用户与界面交互的基础。这篇文章将通过示例打印出的Log,绘制出事件分发的流程图,让大家更容易的去理解Android的事件分发机制。一、必要的基础知识1、相关方法Android中与事件分发相关的方法主要包括dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三个方法,而事件分发一般会经过三种

2016-08-31 09:54:35 299

原创 自定义组合控件

创建组合控件通常要继承ViewGroup,我们一般会给它指定一些可配置的属性,让它具有更强的扩展性。自定义一个如下图所示的组合控件:                                            该控件有三个部分组成,左边和右边是一个Button,中间是一个TextView,并为该控件添加监听事件。1.定义属性,在res的Values目录下创建一个att

2016-08-19 18:15:30 1199

原创 View的测量

view的测量在onMeasure()方法中进行。  Android系统提供给我们一个类--MeasureSpec类。测量模式有三种:    EXACTLY:精确值模式,将控件的layout_width或layout_heigh属性指定为具体数值时,android:layout_with="100dp"。或者指定为match_parent属性时。    AT

2016-08-19 11:54:11 307

原创 Android UI开发之Action Bar

什么是Action Bar呢   ActionBar 是 Android 3.0(API level 11) 引入的一个新控件,它代表了应用程序标题栏,如果要开发兼容的程序,可以使用 v7 包下的 ActionBar 。Action Bar取代了传统的tittle bar和menu,在程序运行中一直置于顶部,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设

2016-01-26 16:46:14 756

原创 Android RecyclerView 的基本使用--瀑布流

前面两篇文章主要讲了用RecyclerView实现ListView和GridView,这篇文章主要探讨一下RecyclerView 的 瀑布流使用。利用RecyclerView可以很方便地实现瀑布流。 那么如何实现?其实你什么都不用做,只要使用StaggeredGridLayoutManager我们就已经实现了,只是上面的item布局我们使用了固定的高度,下面我们仅仅在适配器的onBindView

2016-01-21 20:54:08 878

原创 Android RecyclerView 的基本使用之GridView

前文实现了利用RecyclerView实现ListView,并可以任意添加分割线,在这里主要讨论一下用RecyclerView实现GridView并实现添加分割线。这里要提到的是RecyclerView.LayoutManager这个类。通过查阅Android API我们可以看到如下:     A LayoutManager is responsible f

2016-01-17 17:21:35 5002

原创 Android RecyclerView 的基本使用

我们做Android开发,当需要大量加载图片时,一般会用到ListView、GridView等,那么RecyclerView这样的控件又能做什么用呢,为什么要用RecyclerView呢?      RecyclerView is a more advanced and flexible version of ListView. This widget is a container for

2016-01-07 15:57:14 608

原创 Android中的Universal-Image-Loader的使用

大家平时做Android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,这些问题解决起来会比较吃力,所以就有很多的开源图片加载框架应运而生,比较著名的就是Universal-Image-Loader,相信很多朋友都听过或者使用过这个强大的图片加载框架。有关Universal-Image-Loader的使用可以参考

2015-12-29 16:23:05 983

原创 Win10下JAVA环境变量配置

1.要想成功配置java开发环境,必须首先安装SDK。如图看SDK的安装目录       2.然后开始配置环境变量,右击【我的电脑】---【属性】-----【高级】---【环境变量】,如图:               3.新建变量名为JAVA_HOME,变量值为SDK的安装路径,如图 4.在“系统变量”选项区域中查看PATH变量,如果不存在,则新建变量 P

2015-12-29 11:16:05 649

空空如也

空空如也

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

TA关注的人

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