Android
呆萌土拨鼠
这个作者很懒,什么都没留下…
展开
-
自定义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 · 445 阅读 · 0 评论 -
Android自定义控件之自定义圆形图片和圆角图片
今天给大家带来的自定义控件是一个圆角,和圆形图片。 先说说为什么我要写这个功能 1.通过自定义圆角和圆形图片我可以学到自定义属性中的枚举 2.在这里我可以学到onDraw方法中图片的画法好了废话不多说先上效果图,看看是不是你们需要的功能。 在这里我先所以下自定义属性中的枚举的用法枚举的用法其实和其他类型的属性用法是一样的 在Values文件夹下创建attrs.xml这里我直接贴出代码,相信原创 2017-05-25 22:46:57 · 1206 阅读 · 0 评论 -
Android自定义组件之TextView
接触Android有一段时间了,但是一直都不会自定义控件。以前也写过一些,但是效果不是太显著,有些效果让我自己写我还是写不出来了。所以现在我要重头写自定义组件,我认为我现在写不出来有以下几个原因 1.对Android系统提供的一些方法接触的还是不够深刻。 2.自己写的少,没有什么思路。 3.自己写的少,没有什么思路。重要的东西要说两遍。现在先将我的写的效果图给大家奉献上来 这个效果就是And原创 2017-05-17 23:47:48 · 930 阅读 · 0 评论 -
Android事件分发机制(一)
一.Android事件分发机制的一些概念及方法在写事件分发之前,先说说什么是事件分发机制? 事件分发其实就是我们再点击一个View或者ViewGroup之后,系统需要把这个事件传递到具体的View或者ViewGroup上说到事件分发就得必须讲讲其中三个重要的方法 1.public boolean dispatchTouchEvent(MotionEvent event) 进行判断是否消原创 2017-04-27 18:58:00 · 270 阅读 · 0 评论 -
Android自定义控件之圆形进度条
废话不多说,先给大家上效果图。 源码地址https://github.com/GitHubToLiao/CircleProgressViews.git 如果是你想要的效果那么就继续往下看吧其实这个效果的思路非常的简单,在这里主要用到了paint画笔进行绘画。 当我们遇到自定义控件的时候,只要我们队其效果进行分析。将一个大的效果进行拆分成一份一份小的效果,那么你会发现其实在你认为很难的控件其原创 2017-06-06 21:54:27 · 571 阅读 · 0 评论 -
Android更改状态栏颜色
这里我就不讲状态栏是什么东西了,有关状态栏的代码我们可以在网上找到一大堆,我今天给大家就说说我的思路,以及我在写的过程中所踩的坑。按照惯例先上代码https://github.com/GitHubToLiao/statusbarutils.git先说下使用方法 在我们想要修改状态栏的Activity中加上下面这句代码就可以了 StatusBarUtils.setActivityTransluce原创 2017-07-13 22:30:37 · 2933 阅读 · 1 评论 -
Android自定义控件之流布局
流布局之前我写过,但是之前写的问题很多。所以这里我重新写了一个流布局。 这里我先按照惯例先上代码https://github.com/GitHubToLiao/TagLayout.git 下来看下效果前面铺垫做好之后,让我慢慢给大家讲讲我的实现过程,以及在这个过程中踩到的坑。 好了开始开车,请大家坐好并且系好安全带,我先讲下我实现的思路 1.我们知道流布局,其实就是如果自动换行,也就是我们的原创 2017-07-09 23:57:13 · 368 阅读 · 0 评论 -
Android修改自定义Dialog为全屏
我们在用Android原生的Dialog的时候,你会发现原生的Dialog不是全屏,而有的时候我们的需求是要求Dialog宽度为全屏,或者宽度和高度为全屏。这里我说以下怎么做首先创建一个类,继承Dialog重写里面的构造方法,我们会发现,在构造里面会向其父类传一个style,那么我们今天整个内容就从这个style开始吧首先在Value文件夹的styles定义我们自己的样式,我先贴出我自己代码中的样式原创 2017-07-26 19:36:23 · 16478 阅读 · 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 · 6098 阅读 · 0 评论 -
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 · 2852 阅读 · 0 评论 -
Android部分手机Activity跳转可以看到桌面
前言本篇篇幅会非常的小,因为这篇文章只是用来做一下记录,同时也是为有碰见这个问题的朋友做一个引路人。希望有碰见该问题的朋友能够尽快解决该问题,以免浪费多余的时间需要解决的问题我们在开发时,在部分手机中进行Activity跳转,我们会先看到该手机的桌面然后才会看到我们需要跳转的Activity。或者在部分手机RecyclerView连续双击就会回到我们手机的桌面解决办法...原创 2018-07-05 17:03:36 · 2776 阅读 · 1 评论 -
Android使用DiskLruCache进行数据缓存
1. 按照惯例先来代码传送门DiskLruCacheDemo2. 效果图3. DiskLruCache简介DiskLruCache是JakeWharton大神的杰作,它采用的是LRU算法,通过LRU算法对缓存进行管理,以最近最少使用作为管理的依据,删除最近最少使用的数据,保留最近最常用的数据4. DiskLruCache使用4.1 DiskLruCache...原创 2018-07-05 17:04:45 · 1382 阅读 · 0 评论 -
Android自定义控件之自定义属性
在开发Android的时候或多或少都离不开自定义控件,而我们在一个好的自定义控件又离不开自定义属性。原因很简单,我们写某个功能的组件的时候不要局限当前,要把它扩展开来。比如我们当前组件的字体颜色是红色,当产品把它变为绿色的时候我们又要新建一个控件。这是一个很不好的编程习惯。1. 在讲自定义属性之前,我来说说我们自定义控件,所重写的构造方法吧...原创 2018-08-15 17:36:40 · 246 阅读 · 0 评论 -
手把手教你撸一个简单的模块化框架项目
先上代码ModuleDemo1. 什么是模块化将一个APK拆分成多个模块(组件)进行开发,开发阶段可以独立测试,通用模块可以重复使用,开发完成之后可以将所有模块(组件)整合为一个完整的APK。2. 为什么会出现模块化在我门进行项目的开发过程中,随着业务的不断增加、代码量越来越多、具有相同功能或者模块出现。从而就会导致以下问题的发生。1. 各种业务耦合在一起,不利于后期开发人员的维护。...原创 2019-03-13 14:45:57 · 796 阅读 · 0 评论 -
Android View 事件分发机制
我们在做一些比较绚丽的自定义控件,或者是在做一些绚丽的效果时,都离不开android的事件分发机制。所谓的事件分发机制,其实就是一个MotionEvent事件分发过程,即产生一个MotionEvent事件后,需要将MotionEvent一步一步传递到相应的子View,而传递的这个过程就是事件分发机制。我认为,事件分发机制分为两个部分,一部分为View的事件分发机制,另一部分为ViewGro...原创 2019-03-13 14:47:37 · 204 阅读 · 0 评论 -
ScrollView和ListView嵌套ListView显示不全问题
不知道大家在使用ScrollView嵌套ListView的过程中有没有发现过这样一个问题,那就是ScrollView嵌套ListView的时候无论我们怎么设置ListView的宽和高,ListView都会显示不全,并且大家有没有发现它只会显示ListView的一个条目。那么为什么会出现这个问题,同时这个问题又是怎么处理的,别急先听我慢慢道来。首先我们先看一下,ScrollView和ListView嵌原创 2017-05-15 22:47:09 · 394 阅读 · 0 评论 -
Android支付宝输入密码界面
项目地址https://github.com/GitHubToLiao/CustomPassWordEditText.git 先说明一下,这里的功能是我按照HongChengDarren的博客写的,他的博客地址是http://blog.csdn.net/z240336124/article/details/53739790,但是这里的代码是我看完他讲解的视频自己写的。同时我会在这里说下我自己在实现原创 2017-04-24 23:29:52 · 2006 阅读 · 0 评论 -
Androidd打造万能的Fragment切换帮助类
Fragment我的理解他是一个碎片,Fragment必须是依存与Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期 现在基本上每个App上都会有用到Fragmnet这里我写了一个Fragment切换的帮助类,代码很简单 直接上代码,里面有注释 FragmentHelperpublic class FragmentHelper { priva原创 2017-04-23 20:57:07 · 412 阅读 · 0 评论 -
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 · 535 阅读 · 0 评论 -
自定义一个网络加载框的utils
该网络加载等待提示框是一个utils,该加载框是通过继承Dialog的方式实现,在使用时只需通过Dialog.Show()方法进行该控件的显示,通过Dialog. dismiss()方法进行控件的隐藏 该加载框无需修改其他布局加载框的效果通过动画实现 –代码实现 1.首先创建一个类让该类继承Dialog 2.具体代码实现public class LoadingDialog exten原创 2017-02-28 23:15:17 · 328 阅读 · 0 评论 -
Android开发之屏幕适配
每个开发android都有过因为屏幕适配而感到头痛,Android手机屏幕类型十分繁多, 大小尺寸,长宽比例都不尽相同,同一个界面在不同分辨率的手机上可能出现布局错乱,控件跑位的现象,所以在这里我写一篇关于屏幕适配的做法。在这里声明我开发Android也没有多长时间,我就写一下我自己在项目中屏幕适配的做法,可能有说错的地方如果发现请各位指点出来,或者各位有更好的方法也请分享我一下在这里就先谢过各位原创 2017-03-18 22:24:12 · 371 阅读 · 0 评论 -
Android优化之布局优化
布局优化其实他的本质就是减少Android绘制时的工作量,Android绘制时的工作量减少,程序的性能自然就会提高布局时的选用布局时的选用如果我们的布局中既可以使用RelativeLayout也可以使用LinearLayout那么我们就采用LinearLayout,因为RelativeLayout的功能比较复杂他的布局过程需要花费更多的Cpu时间同时RelativeLayout会让子View调用两原创 2017-03-27 22:23:54 · 384 阅读 · 0 评论 -
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 · 484 阅读 · 0 评论 -
自定义布局子流布局实现标签功能
在这里我先简单的对我自己在写自定义布局之流布局的一个总结 1.流布局我个人认为就是当前子View的宽度大于当前行剩余宽度时当前子View就自动换到下一行进行显示 所以在写该功能最大的挑战就是算出什么时候当前子View需要进行换行 2.在写该布局的时候一定要对当前布局和子View进行测量不然我们会获取不到当前子View和布局的宽度和高度 3.因为是初学者可能有些地方不规范请各位大神指导原创 2017-03-14 23:37:01 · 330 阅读 · 0 评论 -
Android退出多个Activity
我们知道在Android中退出单个Activity非常简单我们使用finish()就可以。 但是多个Activity退出要怎么做呢? 其实非常简单就是通过List将我们想要退出的Activity放在一个list集合中然后对其进行增加和退出这里直接上代码public class ActivityCollector { public static List<Activity> activit原创 2017-04-10 21:00:10 · 338 阅读 · 0 评论 -
自定义Button之实现点击按钮实现倒计时功能
其实,实现倒计时功能非常容易,因为Android已经将该功能封装好了我们只要使用就可以了因为简单我这里也不多说直接上代码, 在自定义VIew中我继承Buttonpublic class CountDownTimerButton extends Button { // 总倒计时时间 private static final long millisInFuture = 60 * 10原创 2017-03-15 23:47:15 · 3260 阅读 · 0 评论 -
动态改变Drawable中我们自定义背景的颜色并设置颜色以16进制进行设置
我们可以在Drawable文件夹下以XML的形式自定义组件的背景,而在自定义背景的时候我们有时候需要动态修改我们自定义背景的颜色等属性。这里我就以动态修改背景颜色为列子,其他大致和修改颜色一样这里不多废话直接 首先看一下activity中怎样修改public class Main2Activity extends AppCompatActivity { @Override p原创 2017-03-16 21:49:25 · 4456 阅读 · 0 评论 -
Android 多个Fragment切换动画
Android中Fragment之间切换我们是可以对其进行添加动画,而且进行设置也是非常简单,但是在设置动画的过程中有一些需要注意的地方后面会慢慢说出来这里我直接贴出Fragment切换的方法上面有注释public static void showFragment(int index, int state) { // 想要显示fragment,先隐藏所有fragment,防止重叠原创 2017-04-12 21:19:00 · 4992 阅读 · 0 评论 -
Android修改AlertDialog宽和高以及设置AlertDialog的背景
不知道你们试过了吗,AlertDialog在我们给他设置我们自己的布局的时候他的宽度不论我们怎么设置他都是不变的,要想改变宽和高我们可以动态的去修改他的宽度好高度 直接上代码 // 1. 布局文件转换为View对象 LayoutInflater inflater = LayoutInflater.from(context); RelativeLayout layo原创 2017-04-12 22:26:38 · 21534 阅读 · 4 评论 -
Android事件分发机制(二)
上一篇讲了Android事件分发的基本概念,这一篇就接着上一篇事件分发接着写后面的故事。 首先先回顾一下上一篇的内容 上一篇主要讲了Android事件分发的三个重要方法以及Activity对事件分发,以及这三个方法之间的关系在这里就复习一下Activity对事件分发的过程 1.首先,当一个事件产生后,首先会传递Activity中。 2.当该事件传递到Activity之后会调用dispatch原创 2017-05-01 12:17:36 · 329 阅读 · 0 评论 -
ExpandableListView的使用以及更换前边的图片
ExpandableListView是一个可展开的列表组件,在这里我就说下他的用法以及一些使用的问题首先放上程序的效果图,请原谅我不会制作动态图 下来就直接上代码protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView原创 2017-04-19 21:38:18 · 1159 阅读 · 0 评论 -
Android Handler消息机制
Android消息机制主要是指Handler,MessageQueue和Looper的工作过程。一、首先我们就来说说为什么Android会提供这个功能? 这是因为Android规定访问UI只能在主线程中进行,如果在子线程中访问UI,程序就会报错。也正是由于这个原因导致我们必须在主线程中访问UI。但是Android又不建议在主线程中进行耗时操作,否则会导致程序无响应也就是ANR。而Hndl原创 2017-05-14 14:43:04 · 352 阅读 · 0 评论 -
Android ViewGroup事件分发机制
接着上一篇View的事件分发机制,我接着在说一说ViewGroup的事件分发机制1.接着来看ViewGroup的事件分发机制,同上一篇,先罗列ViewGroup中主要的方法ViewGroup的事件分发主要有三个方法 1. dispatchTouchEcent(); 用来分派事件 2. onInterceptTouchEvent ();用来拦截事件3. onTouchEvent ();...原创 2019-03-13 14:49:04 · 325 阅读 · 0 评论