代码地址:https://github.com/Carbs0126/MaxHeightView android中部分控件具有maxHeight功能,如button等,但是对于ViewGroup类的控件,没有此属性,当我们需要限制某些view的高度时,(比如限制屏幕下方对话框的最大高度)那么,就需要一种可以限制其子view最大高度的ViewGroup.如何为自定义ViewGroup添加一个最大高度的属性呢?其实很简单,主要就是使用onMeasure()函数,在函数中控制高度即可. 先看下效果图:…
前言: 前面几篇讲了自定义控件绘制原理Android自定义控件之基本原理(一),自定义属性Android自定义控件之自定义属性(二),自定义组合控件Android自定义控件之自定义组合控件(三),常言道:“好记性不如烂笔头,光说不练假把式!!!”,作为一名学渣就是因为没有遵循这句名言才沦落于此,所以要谨遵教诲,注重理论与实践相结合,今天通过自定义ViewGroup来实现一下项目中用到的标签云. 自定义控件相关文章地址: Android自定义控件之基本原理 Android自定义控件之自定义属性 A…
前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本. 自定义控件相关文章地址: Android自定义控件之基本原理 Android自定义控件之自定义属性 Android自定义控件之自定义组合控件 Android自定义控件之自定义ViewGroup实现标签云 使用自定义组合控件的好处? 我们在项目开发中经常会遇见很多相似或者相同的布…
前言: 在日常的Android开发中会经常和控件打交道,有时Android提供的控件未必能满足业务的需求,这个时候就需要我们实现自定义一些控件,今天先大致了解一下自定义控件的要求和实现的基本原理. 自定义控件相关文章地址: Android自定义控件之基本原理 Android自定义控件之自定义属性 Android自定义控件之自定义组合控件 Android自定义控件之自定义ViewGroup实现标签云 自定义控件要求: 1. 应当遵守Android标准的规范(命名,可配置,事件处理等).     2…
0.引言 (1)Android从4.0开始提供了switch的滑动开关效果组件,但是之前版本却没有 (2)很多时候我们写程序,都希望把有用的通用的通用的东西封装起来,以便以后重用. 本文根据组件开发思想,首先介绍android自定义控件,然后将自定义的控件封装为jar包.最为实现了一个滑动开关的例子.最后效果如图所示: 下面是开发步骤: 1.android自定义控件 自定义控件过程:建立一个应用程序,新建一个类,该类继承View类,并实现参数为(Context context,Attribute…
前言: 在日常的Android开发中会经常和控件打交道,有时Android提供的控件未必能满足业务的需求,这个时候就需要我们实现自定义一些控件,今天先大致了解一下自定义控件的要求和实现的基本原理. 自定义控件要求: 1. 应当遵守Android标准的规范(命名,可配置,事件处理等).     2. 在XML布局中科配置控件的属性.     3. 对交互应当有合适的反馈,比如按下,点击等.     4. 具有兼容性, Android版本很多,应该具有广泛的适用性. 自定义控件学习步骤: 1 .Vi…
前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本. 使用自定义组合控件的好处? 我们在项目开发中经常会遇见很多相似或者相同的布局,比如APP的标题栏,我们从三种方式实现标题栏来对比自定义组件带来的好处,毕竟好的东西还是以提高开发效率,降低开发成本为导向的. 1.)第一种方式:直接在每个xml布局中写相同的标题栏布局代码   <?…
首先声明我也是参考了别人的思路,只是稍微做了下修改,增加显示密码与隐藏密码,没有输入字符串时让EditText进行抖动,废话少说这里附上效果图 效果很赞有木有 那么怎么实现这种效果呢?那就跟着我一起来吧 首先我们先分析一下清除功能怎么实现的,我们怎么知道用户点击的是清除按钮还是别的地方呢?,而EditText其实是集成Textview的, 而Textview有方法getTotalPaddingRight()获取图标左边缘至控件右边缘的距离,知道这样一个方法之后就很简单了,如下图所示我们就可以得到…
最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非常常见,例如下载进度.加载图片.打开文章.打开网页等等……都需要这么一个效果让用户知道我们的App正在读取,以构造良好 的交互.如果没有这样一个效果的话,用户没法知道东西有没有下载好.图片加载了没有.文章打开了没……会让用户很不爽.基于这样的情景我们的UI设计师们 创造了这样一个控件. 二.这篇文章…
前言: 上篇介绍了自定义控件的基本要求以及绘制的基本原理,本篇文章主要介绍如何给自定义控件自定义一些属性.本篇文章将继续以上篇文章自定义圆形百分比为例进行讲解.有关原理知识请参考Android自定义控件之基本原理(一)这篇文章. 自定义控件相关文章地址: Android自定义控件之基本原理 Android自定义控件之自定义属性 Android自定义控件之自定义组合控件 Android自定义控件之自定义ViewGroup实现标签云 需求产生背景: 为何要引入自定义属性?当Android提供的原生属…