自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android ViewGroup事件分发机制

接着上一篇View的事件分发机制,我接着在说一说ViewGroup的事件分发机制1.接着来看ViewGroup的事件分发机制,同上一篇,先罗列ViewGroup中主要的方法ViewGroup的事件分发主要有三个方法 1. dispatchTouchEcent(); 用来分派事件 2. onInterceptTouchEvent ();用来拦截事件3. onTouchEvent ();...

2019-03-13 14:49:04 271

原创 Android View 事件分发机制

我们在做一些比较绚丽的自定义控件,或者是在做一些绚丽的效果时,都离不开android的事件分发机制。所谓的事件分发机制,其实就是一个MotionEvent事件分发过程,即产生一个MotionEvent事件后,需要将MotionEvent一步一步传递到相应的子View,而传递的这个过程就是事件分发机制。我认为,事件分发机制分为两个部分,一部分为View的事件分发机制,另一部分为ViewGro...

2019-03-13 14:47:37 175

原创 手把手教你撸一个简单的模块化框架项目

先上代码ModuleDemo1. 什么是模块化将一个APK拆分成多个模块(组件)进行开发,开发阶段可以独立测试,通用模块可以重复使用,开发完成之后可以将所有模块(组件)整合为一个完整的APK。2. 为什么会出现模块化在我门进行项目的开发过程中,随着业务的不断增加、代码量越来越多、具有相同功能或者模块出现。从而就会导致以下问题的发生。1. 各种业务耦合在一起,不利于后期开发人员的维护。...

2019-03-13 14:45:57 730

原创 Android自定义控件之自定义属性

     在开发Android的时候或多或少都离不开自定义控件,而我们在一个好的自定义控件又离不开自定义属性。原因很简单,我们写某个功能的组件的时候不要局限当前,要把它扩展开来。比如我们当前组件的字体颜色是红色,当产品把它变为绿色的时候我们又要新建一个控件。这是一个很不好的编程习惯。1. 在讲自定义属性之前,我来说说我们自定义控件,所重写的构造方法吧...

2018-08-15 17:36:40 215

原创 Android使用DiskLruCache进行数据缓存

1. 按照惯例先来代码传送门DiskLruCacheDemo2. 效果图3. DiskLruCache简介DiskLruCache是JakeWharton大神的杰作,它采用的是LRU算法,通过LRU算法对缓存进行管理,以最近最少使用作为管理的依据,删除最近最少使用的数据,保留最近最常用的数据4. DiskLruCache使用4.1 DiskLruCache...

2018-07-05 17:04:45 1315

原创 Android部分手机Activity跳转可以看到桌面

前言本篇篇幅会非常的小,因为这篇文章只是用来做一下记录,同时也是为有碰见这个问题的朋友做一个引路人。希望有碰见该问题的朋友能够尽快解决该问题,以免浪费多余的时间需要解决的问题我们在开发时,在部分手机中进行Activity跳转,我们会先看到该手机的桌面然后才会看到我们需要跳转的Activity。或者在部分手机RecyclerView连续双击就会回到我们手机的桌面解决办法...

2018-07-05 17:03:36 2686 1

原创 Android RrecyclerView条目跳转到指定位置

1. 先上效果图,有图有真有真相2. 相关需求,点击RecyclerView中的某一个条目,让该条目滑动到屏幕中间。3.RecyclerView各种滚动方法分析scrollTo(int x, int y)和scrollBy(int x, int y)这两个方法可以让我们自己去控制滚动距离但是没有滚动效果。scrollToPosition(int position)滚动到...

2018-07-05 17:01:27 2817

原创 Android---NDK开发系列之环境搭建和第一个NDK项目

序言         最近在学NDK,写博客一方面是为了复习每次学到的东西,另一方面是把我学习过程分享出来希望大家少走一点弯路。以后每次每隔一到两天我会把我学过的东西分享出来。目录         1. 什么是NDK。         2. 为什么要使用NDK。         3. 环境搭建。         4. 第一个NDK项目的创建与运行。内容1. 什么是NDK NDK:

2017-09-10 01:40:27 413 2

原创 Android 程序以及在4.4.4以上报错但是在4.4.4以上不报错

大家在做些App的时候,有没有遇见过这样一个问题,程序运行之后再4.4.4系统以上不报错,但是当程序运行在4.4.4系统一下是程序就会闪退。同时有的时候会报java.lang.VerifyError.那么为什么会出现这样的问题,其实你在程序报错这个错误的时候仔细分析,你就会发现一般在你继承一些比较庞大的第三方的时候就会出现这个问题。出现这种原因是因为Android规定方法的数量不能超过 65,536

2017-07-27 23:17:41 6034

原创 Android修改自定义Dialog为全屏

我们在用Android原生的Dialog的时候,你会发现原生的Dialog不是全屏,而有的时候我们的需求是要求Dialog宽度为全屏,或者宽度和高度为全屏。这里我说以下怎么做首先创建一个类,继承Dialog重写里面的构造方法,我们会发现,在构造里面会向其父类传一个style,那么我们今天整个内容就从这个style开始吧首先在Value文件夹的styles定义我们自己的样式,我先贴出我自己代码中的样式

2017-07-26 19:36:23 16343 2

原创 Android更改状态栏颜色

这里我就不讲状态栏是什么东西了,有关状态栏的代码我们可以在网上找到一大堆,我今天给大家就说说我的思路,以及我在写的过程中所踩的坑。按照惯例先上代码https://github.com/GitHubToLiao/statusbarutils.git先说下使用方法 在我们想要修改状态栏的Activity中加上下面这句代码就可以了 StatusBarUtils.setActivityTransluce

2017-07-13 22:30:37 2893 1

原创 Android自定义控件之流布局

流布局之前我写过,但是之前写的问题很多。所以这里我重新写了一个流布局。 这里我先按照惯例先上代码https://github.com/GitHubToLiao/TagLayout.git 下来看下效果前面铺垫做好之后,让我慢慢给大家讲讲我的实现过程,以及在这个过程中踩到的坑。 好了开始开车,请大家坐好并且系好安全带,我先讲下我实现的思路 1.我们知道流布局,其实就是如果自动换行,也就是我们的

2017-07-09 23:57:13 339

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

废话不多说,先给大家上效果图。 源码地址https://github.com/GitHubToLiao/CircleProgressViews.git 如果是你想要的效果那么就继续往下看吧其实这个效果的思路非常的简单,在这里主要用到了paint画笔进行绘画。 当我们遇到自定义控件的时候,只要我们队其效果进行分析。将一个大的效果进行拆分成一份一份小的效果,那么你会发现其实在你认为很难的控件其

2017-06-06 21:54:27 534

原创 Android自定义控件之自定义圆形图片和圆角图片

今天给大家带来的自定义控件是一个圆角,和圆形图片。 先说说为什么我要写这个功能 1.通过自定义圆角和圆形图片我可以学到自定义属性中的枚举 2.在这里我可以学到onDraw方法中图片的画法好了废话不多说先上效果图,看看是不是你们需要的功能。 在这里我先所以下自定义属性中的枚举的用法枚举的用法其实和其他类型的属性用法是一样的 在Values文件夹下创建attrs.xml这里我直接贴出代码,相信

2017-05-25 22:46:57 1165

原创 Android自定义组件之TextView

接触Android有一段时间了,但是一直都不会自定义控件。以前也写过一些,但是效果不是太显著,有些效果让我自己写我还是写不出来了。所以现在我要重头写自定义组件,我认为我现在写不出来有以下几个原因 1.对Android系统提供的一些方法接触的还是不够深刻。 2.自己写的少,没有什么思路。 3.自己写的少,没有什么思路。重要的东西要说两遍。现在先将我的写的效果图给大家奉献上来 这个效果就是And

2017-05-17 23:47:48 880

原创 ScrollView和ListView嵌套ListView显示不全问题

不知道大家在使用ScrollView嵌套ListView的过程中有没有发现过这样一个问题,那就是ScrollView嵌套ListView的时候无论我们怎么设置ListView的宽和高,ListView都会显示不全,并且大家有没有发现它只会显示ListView的一个条目。那么为什么会出现这个问题,同时这个问题又是怎么处理的,别急先听我慢慢道来。首先我们先看一下,ScrollView和ListView嵌

2017-05-15 22:47:09 351

原创 Android Handler消息机制

Android消息机制主要是指Handler,MessageQueue和Looper的工作过程。一、首先我们就来说说为什么Android会提供这个功能?       这是因为Android规定访问UI只能在主线程中进行,如果在子线程中访问UI,程序就会报错。也正是由于这个原因导致我们必须在主线程中访问UI。但是Android又不建议在主线程中进行耗时操作,否则会导致程序无响应也就是ANR。而Hndl

2017-05-14 14:43:04 328

原创 Android事件分发机制(二)

上一篇讲了Android事件分发的基本概念,这一篇就接着上一篇事件分发接着写后面的故事。 首先先回顾一下上一篇的内容 上一篇主要讲了Android事件分发的三个重要方法以及Activity对事件分发,以及这三个方法之间的关系在这里就复习一下Activity对事件分发的过程 1.首先,当一个事件产生后,首先会传递Activity中。 2.当该事件传递到Activity之后会调用dispatch

2017-05-01 12:17:36 301

原创 Android事件分发机制(一)

一.Android事件分发机制的一些概念及方法在写事件分发之前,先说说什么是事件分发机制? 事件分发其实就是我们再点击一个View或者ViewGroup之后,系统需要把这个事件传递到具体的View或者ViewGroup上说到事件分发就得必须讲讲其中三个重要的方法 1.public boolean dispatchTouchEvent(MotionEvent event) 进行判断是否消

2017-04-27 18:58:00 248

原创 Android支付宝输入密码界面

项目地址https://github.com/GitHubToLiao/CustomPassWordEditText.git 先说明一下,这里的功能是我按照HongChengDarren的博客写的,他的博客地址是http://blog.csdn.net/z240336124/article/details/53739790,但是这里的代码是我看完他讲解的视频自己写的。同时我会在这里说下我自己在实现

2017-04-24 23:29:52 1960

原创 Androidd打造万能的Fragment切换帮助类

Fragment我的理解他是一个碎片,Fragment必须是依存与Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期 现在基本上每个App上都会有用到Fragmnet这里我写了一个Fragment切换的帮助类,代码很简单 直接上代码,里面有注释 FragmentHelperpublic class FragmentHelper { priva

2017-04-23 20:57:07 380

原创 ExpandableListView的使用以及更换前边的图片

ExpandableListView是一个可展开的列表组件,在这里我就说下他的用法以及一些使用的问题首先放上程序的效果图,请原谅我不会制作动态图 下来就直接上代码protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView

2017-04-19 21:38:18 1127

原创 Android修改AlertDialog宽和高以及设置AlertDialog的背景

不知道你们试过了吗,AlertDialog在我们给他设置我们自己的布局的时候他的宽度不论我们怎么设置他都是不变的,要想改变宽和高我们可以动态的去修改他的宽度好高度 直接上代码 // 1. 布局文件转换为View对象 LayoutInflater inflater = LayoutInflater.from(context); RelativeLayout layo

2017-04-12 22:26:38 21333 4

原创 Android 多个Fragment切换动画

Android中Fragment之间切换我们是可以对其进行添加动画,而且进行设置也是非常简单,但是在设置动画的过程中有一些需要注意的地方后面会慢慢说出来这里我直接贴出Fragment切换的方法上面有注释public static void showFragment(int index, int state) { // 想要显示fragment,先隐藏所有fragment,防止重叠

2017-04-12 21:19:00 4908

原创 Android退出多个Activity

我们知道在Android中退出单个Activity非常简单我们使用finish()就可以。 但是多个Activity退出要怎么做呢? 其实非常简单就是通过List将我们想要退出的Activity放在一个list集合中然后对其进行增加和退出这里直接上代码public class ActivityCollector { public static List<Activity> activit

2017-04-10 21:00:10 311

原创 Android优化之布局优化

布局优化其实他的本质就是减少Android绘制时的工作量,Android绘制时的工作量减少,程序的性能自然就会提高布局时的选用布局时的选用如果我们的布局中既可以使用RelativeLayout也可以使用LinearLayout那么我们就采用LinearLayout,因为RelativeLayout的功能比较复杂他的布局过程需要花费更多的Cpu时间同时RelativeLayout会让子View调用两

2017-03-27 22:23:54 363

原创 Android开发之屏幕适配

每个开发android都有过因为屏幕适配而感到头痛,Android手机屏幕类型十分繁多, 大小尺寸,长宽比例都不尽相同,同一个界面在不同分辨率的手机上可能出现布局错乱,控件跑位的现象,所以在这里我写一篇关于屏幕适配的做法。在这里声明我开发Android也没有多长时间,我就写一下我自己在项目中屏幕适配的做法,可能有说错的地方如果发现请各位指点出来,或者各位有更好的方法也请分享我一下在这里就先谢过各位

2017-03-18 22:24:12 344

原创 动态改变Drawable中我们自定义背景的颜色并设置颜色以16进制进行设置

我们可以在Drawable文件夹下以XML的形式自定义组件的背景,而在自定义背景的时候我们有时候需要动态修改我们自定义背景的颜色等属性。这里我就以动态修改背景颜色为列子,其他大致和修改颜色一样这里不多废话直接 首先看一下activity中怎样修改public class Main2Activity extends AppCompatActivity { @Override p

2017-03-16 21:49:25 4362

原创 自定义Button之实现点击按钮实现倒计时功能

其实,实现倒计时功能非常容易,因为Android已经将该功能封装好了我们只要使用就可以了因为简单我这里也不多说直接上代码, 在自定义VIew中我继承Buttonpublic class CountDownTimerButton extends Button { // 总倒计时时间 private static final long millisInFuture = 60 * 10

2017-03-15 23:47:15 3207

原创 自定义布局子流布局实现标签功能

在这里我先简单的对我自己在写自定义布局之流布局的一个总结 1.流布局我个人认为就是当前子View的宽度大于当前行剩余宽度时当前子View就自动换到下一行进行显示 所以在写该功能最大的挑战就是算出什么时候当前子View需要进行换行 2.在写该布局的时候一定要对当前布局和子View进行测量不然我们会获取不到当前子View和布局的宽度和高度 3.因为是初学者可能有些地方不规范请各位大神指导

2017-03-14 23:37:01 307

原创 Android补间动画之旋转动画

今天在项目中遇到了一个需求就是将TextView旋转45度动画可以在xml中定义也可以在代码中定义个人比较喜欢使用xml所以这里我用的就是xml 首先在res中建立一个anim文件夹名字可以随便起这里我直接上代码 文件目录res/anim/rotate_text.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http:

2017-03-11 11:57:15 452

原创 自定义View(二)之自定义属性

昨天分享了简单的自定义View里面有用到自定义属性,所以在这里我对自定义属性作出总结。 自定义属性地第一步在Values文件夹下创建一个XML这里XML的名字可以随便起但是一般都是以attrs开头如attrs_circle.xml 先上布局代码然后在对代码中的内容作出总结文件路径res/values/attrs_circle.xml<?xml version="1.0" encoding="ut

2017-03-08 22:14:45 263

原创 Android动态改变Margin属性

非常简单的一句代码不多说 //动态的对margin属性进行修改 RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)autonym.getLayoutParams(); layoutParams.rightMargin =45; auto

2017-03-06 22:10:59 1363

原创 实现对ListView中的条目进行排序

1.对ListView中的条目进行排序我的思路就是在我们队ListView进行设置Adapter的时候就先对List中的数据进行排序,对List进行排序就可以通过 Collections.sort()方法进行List中的排序具体代码MainActivity中的代码import android.graphics.drawable.AnimationDrawable;import android.

2017-03-02 00:12:24 4335

原创 自定义一个网络加载框的utils

该网络加载等待提示框是一个utils,该加载框是通过继承Dialog的方式实现,在使用时只需通过Dialog.Show()方法进行该控件的显示,通过Dialog. dismiss()方法进行控件的隐藏 该加载框无需修改其他布局加载框的效果通过动画实现 –代码实现 1.首先创建一个类让该类继承Dialog 2.具体代码实现public class LoadingDialog exten

2017-02-28 23:15:17 305

原创 自定义ProgressBar进度条

1.本文主要完成一个简单的自定义的ProgressBar进度条 2.他不需要自己自定义ProgressBar只需要在xml里面添加一个Drawable文件即可 该功能实现步骤在Drawable中创建一个文件路径为(res/drawable/progress_bg.xml)的xml文件 -res/drawable/progress_bg.xml的 代码为><!--layer-list是一种

2017-02-27 22:24:30 414

转载 rxjava(复制别人 原文作者:扔物线)

RxJava 到底是什么一个词:异步。RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 R

2016-11-17 20:59:12 512

空空如也

空空如也

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

TA关注的人

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