ViewDragHelper侧滑关闭再升级-仿微信
继上篇文章Android 利用ViewDragHelper打造侧滑关闭控件,因为上次有事出门了,没有扩展这个功能,今天刚好周末有点时间,索性补上吧。 效果展示: 思路梳理:执行当前页面侧滑关闭的时候,需要上个页面同步滚动,从而达到联动的效果,联动效果很简单,使用属性动画即可,问题是怎么拿到上个页面的View?我们知道Activity可以拿到当前页面的View,所以我们需要拿到上个页面的Activi…
效果: 核心思想: 自定义ViewGroup控件,利用ViewDragHelper让此控件拥有滑动功能。 将此控件附加到每一个Activity。 代码很简单就不一一解释了,代码备注很详细,所以直接贴代码了: import android.app.Activity; import android.content.Context; import android.support.annotation.N…
不得不说RecyclerView真的很强大,例如无限轮播Banner,滑动卡片等都有RecyclerView的版本,他们是怎么做的呢?答案是基于RecyclerView.LayoutManager,我们可以自定义RecyclerView.LayoutManager,然后控制RecyclerView内部Item的位置以及大小达到我们想要的效果,为了简单,我们先自定义一个RecyclerView.La…
场景:经常在项目中高频使用按钮,比如 完成、下一步等有圆角且有按下效果的Button 思路:写个自定义Button,编写自定义属性,方便在xml中设置圆角,颜色等属性,按下的效果一般是用shape写背景方式完成,为了方便,shape不在xml编写,改为代码编写。 1.编写自定义控件: public class ShapeButton extends AppCompatButton { public…
眼看6月到了,由于前段时间域名备案等原因,服务器关闭了差不多一个月,所以没更新文章,索性今天补一篇吧,准备写一个简单的自定义View,就拿进度条做这个需求吧,虽然简单,但是也包含了基本自定义View的几要素,比如自定义属性、重写测量、重写绘制等功能。 ## 需求分析: 1.进度通过绘制线条实现。 2.进度文字跟随当前进度实时变化,并非一直显示在固定位置。 3.控件未给出宽高属性时,我们需要给出默认…
好久没写博客了,最近一直忙着赶项目,趁着中午午休,更一篇博客吧,时间有限,直接进入正题吧。 效果 继承合适的View。 public class VerticalTouchImageView extends android.support.v7.widget.AppCompatImageView{ } 构造器 为了方便,构造里通过this调用其它构造方法,我们就可以把初始化逻辑放在最后调用的构造器…
效果图: 1.编写类继承View public class ProgressBarView extends ProgressBar { } 2.重写构造方法 public ProgressBarView(Context context) { this(context, null);//这里调用本类的两个构造参数的构造方法 } public ProgressBarView(Context conte…