Android 自定义View
jianning-wu
努力过,期待中,好好工作!
展开
-
自定义View 使用VelocityTracker记录滑动速度
1.简介VelocityTracker是android提供的用来记录滑动速度的一个类,可以监控手指移动的速度。原创 2018-06-12 11:16:33 · 1475 阅读 · 0 评论 -
自定义View Scroller处理滚动工具类详解
1.简介Scroller是一个专门用于处理滚动效果的工具类,可能在大多数情况下,我们直接使用Scroller的场景并不多,但是很多大家所熟知的控件在内部都是使用Scroller来实现的,如ViewPager、ListView等。2.View的scrollBy和scrollTo方法2.1.图解2.2.scrollBy方法2.2.1.方法public void scrollBy (int x, int...原创 2018-06-11 14:09:40 · 1811 阅读 · 0 评论 -
自定义View invalidate方法+postInvalidate方法+requestLayout方法详解
效果图代码1.布局2.自定义View3.使用完成代码下载:原创 2018-05-31 18:07:12 · 2912 阅读 · 0 评论 -
自定义View MotionEvent方法详解
本章节讲解 MotionEvent1、事件类型这里就引入关于 MotionEvent 的一个重要概念,事件类型。事件类型就是指对象所代表的动作。比如说,当你的一个手指在屏幕上滑动一下时,系统会产生一系列的触摸事件对象,他们所代表的动作有所不同。有的事件代表你手指按下这个动作,有的事件代表你手指在屏幕上滑动,还有的事件代表你手指离开屏幕。常用的如下几种:ACT原创 2017-06-05 09:35:51 · 697 阅读 · 0 评论 -
自定义View 使用Matrix(矩阵)操作图片
android开发中动画有多么重要,相信大家都清楚。它可以让一个枯燥乏味的静态界面变成一个充满动力的动画世界,提高用户体验。反正现在都是用户体验至上。android也是前端。废话不多少。直接上效果图主要就是中间那部分的动画效果。理解Android中动画实现的本质在理解Android中动画实现的本质之前,首先要理解动画实现的原理,估计这个大家都清楚。如原创 2017-05-22 10:54:19 · 3303 阅读 · 0 评论 -
自定义View 绘图工具类Canvas+Paint+Path(onDraw方法)基础详解
本章节讲述三个绘图工具类Canvas(画布),Paint(画笔),Path(路径)1.Canvas(画布)相关方法详解1.1.方法:Canvas()作用:创建一个空的画布,可以使用setBitmap()方法来设置绘制具体的画布。(构造方法)。1.2.方法:Canvas(Bitmap bitmap):作用:以bitmap对象创建一个画布,将内容都绘制在...原创 2017-04-24 10:49:26 · 3367 阅读 · 0 评论 -
自定义View Paint设置Typeface(字型)
1.简介Typeface(字型),由字义,我们大概可以猜到,这个 API是用来设置字体以及字体风格的,使用起来也非常的简单。2.具体实现Demo2.1.View实现类public class MyView extends View{ private Paint mPaint1,mPaint2,mPaint3,mPaint4,mPaint5; ...原创 2017-04-25 11:10:08 · 1164 阅读 · 0 评论 -
自定义View Canvas详解(下)
效果图可以看到这个自定义控件结合了颜色渐变、动态绘制刻度、动态水球效果。接下来我们就来看看这个效果是如何一步一步实现的。开始自定义控件和很多自定义控件方式一样需要去基础某种View或者某种ViewGroup我这里选择的是View,如下所示:public class HuaWeiView extends View { /** * 用来初始化原创 2017-04-25 09:11:04 · 1613 阅读 · 4 评论 -
自定义View Canvas详解(上)
本章节讲述MeasureSpec在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多原创 2017-04-24 10:47:26 · 304 阅读 · 0 评论 -
自定义View onMeasure方法详解
onMeasure()方法的作用就是测量View需要多大的空间,就是宽和高。大家可能会有这样的疑问。就是我在xml文件中已经指定好了某个view宽高尺寸了,那么自定义View时不就没有必要再次获取宽高并设置宽高吗?onMeasure方法不就没有了吗?其实不然,我们就知道,在xml布局文件中,我们的layout_width和layout_height参数可以不用写具体的尺寸...原创 2017-04-24 09:16:59 · 1402 阅读 · 2 评论 -
自定义View onDraw方法详解
onDraw方法通过Canvas对象在View上绘制不同的东西(直线,圆形,矩形...)代码说明自定义View类public class MyViews extends View { private Paint paint; public MyViews(Context context) { super(context); ...原创 2017-04-21 15:49:25 · 2302 阅读 · 0 评论 -
自定义View onLayout方法详解
onLayout方法来确定View的位置,一般自定义ViewGroup时用到。自定义ViewGroup必须实现onLayout方法。代码说明自定义View类public class MyViewGroup extends ViewGroup { public MyViewGroup(Context context) { super...原创 2017-04-19 17:41:42 · 8807 阅读 · 0 评论 -
自定义View 基础知识
一.自定义View构造方法说明1.构造方法1public MyView(Context context) { super(context);}2.构造方法2public MyView(Context context,AttributeSet attrs){ super(context, attrs);}3.构造...原创 2017-04-19 16:41:38 · 737 阅读 · 0 评论 -
自定义View 实现指南针效果
传感器详解:Android Manager之SensorManager(传感器)—方向传感器(Orientation sensor)原创 2018-06-06 15:22:25 · 2635 阅读 · 3 评论 -
自定义ListView 实现拖动排序效果
实现ListView拖动排序。。。代码1:Activitypublic class DragSortListViewActivity extends AppCompatActivity { private DragSortListView dragSortListView; private DragSortAdapter dragSortAdapter; ...原创 2018-06-13 11:09:41 · 2809 阅读 · 0 评论 -
自定义TextView 实现跑马灯效果
方式1以下方式只有在TextView的文字超过一行时显示跑马灯效果代码1:Activity/** * 自定义TextView TextView跑马灯 * */public class MarqueeTextActivity extends AppCompatActivity { private MarqueeText marqueeText; ...原创 2018-06-13 10:36:00 · 4904 阅读 · 2 评论 -
自定义View 实现多级树形结构显示
1.项目截图实体类1MyNodeBeanpublic class MyNodeBean { private String ids; private String pIds; /** * 节点Id */ private int id; /** * 节点父id */ private int pId; /** * 节点na...原创 2018-03-23 10:37:17 · 1560 阅读 · 2 评论 -
自定义View 实现刮刮卡效果
代码1:Activitypublic class GuaGuaLeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...原创 2017-04-24 10:15:18 · 381 阅读 · 0 评论 -
自定义ViewGroup 实现流布局进阶
代码1:Activitypublic class FlowLayoutActivity extends AppCompatActivity { private TagsLayout tagsLayout; private ViewGroup.MarginLayoutParams lp; private List<MyJaveBean> list; ...原创 2017-04-19 15:46:59 · 793 阅读 · 0 评论 -
自定义ListView 实现左划删除
项目中遇到一个要求 在listview 列表中左划item 显示删除按钮(仿QQ获取微信左划删除)代码1:Item布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:...原创 2017-04-05 17:31:09 · 706 阅读 · 1 评论 -
自定义RelativeLayout 实现万能刷新View
Android 项目中经常会遇到 下拉刷新 上拉加载 的功能要求。比如ListView刷新,GridView刷新,ExpandableListView刷新,ScrollView刷新 甚至是Imageview刷新等等。那么当然可以选择自定义相应的view实现 比如自定义ListView可是有的情况下 这种方法有局限性 比如要求listview 既要刷新也要左划删除 或是一个页面...原创 2017-04-05 16:52:14 · 2231 阅读 · 0 评论 -
自定义ScrollView 实现滚动时切换标题内容
项目中有一个这样的要求 一个页面是要求嵌套在ScrollView中 比如某公司的详情页面刚刚打开时顶部标题显示公司详情。当上拉到一定程度即公司职位已经滑出屏幕。此时顶部标题显示职位详情代码说明:由于ScrollView 只提供了一个这样的监听方法protected void onScrollChanged(int x, int y, int oldx, i...原创 2017-04-05 14:10:03 · 958 阅读 · 0 评论 -
自定义ScrollView 实现拉下伸缩头部view
项目中会遇到一个ScrollView 嵌套的布局下拉实现头部imageview下拉伸缩代码1:Activity布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la...原创 2017-04-05 14:06:13 · 2544 阅读 · 0 评论 -
View绘制详解
View的整个绘制流程可以分为以下三个阶段:measure: 判断是否需要重新计算View的大小,需要的话则计算; layout: 判断是否需要重新计算View的位置,需要的话则计算; draw: 判断是否需要重新绘制View,需要的话则重绘制。 一.MeasureAndroid 自定义View之onMeasure方法详解...原创 2017-04-01 10:16:47 · 538 阅读 · 0 评论