介绍
这篇文章将为大家详细讲解有关如何在Android中利用视图实现一个手势密码功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
用法:
& lt; com.leo.library.view.GestureContentView android: id=癅 + id/id_gesture_pwd" android: layout_gravity=癱enter_horizontal" android: layout_marginTop=?0 dp" android: layout_width=癿atch_parent" android: layout_height=癿atch_parent" 应用:列=?”; 应用:行=?”; 应用:填充=?0 dp" 应用:normalDrawable=癅drawable/gesture_node_normal" 应用:selectedDrawable=癅drawable/gesture_node_pressed" 应用:erroDrawable=癅drawable/gesture_node_wrong" 应用:normalStrokeColor=? 000“ 应用:erroStrokeColor=? ff0000" 应用:strokeWidth=? dp"/在
应用打头的是自定义的一些属性,
attrs。xml:
& lt;及# 63;xml version=?.0”;编码=皍tf-8", # 63;比; & lt; resources> & lt; declare-styleable name=癐ndicatorView"祝辞 & lt; !——默认状态的可拉的——比; & lt; attr name=皀ormalDrawable"格式=皉eference"/比; & lt; !——被选中状态的可拉的——比; & lt; attr name=皊electedDrawable"格式=皉eference"/比; & lt; !——错误状态的drawabe——比; & lt; attr name=癳rroDrawable"格式=皉eference"/比; & lt; !——列数——比; & lt; attr name=癱olumn"格式=癷nteger"/比; & lt; !——行数——比; & lt; attr name=皉ow"格式=癷nteger"/比; & lt; !——填充值、填充值越大点越小——比; & lt; attr name=皃adding"格式=癲imension"/比; & lt; !——默认连接线颜色——比; & lt; attr name=皀ormalStrokeColor"格式=癱olor"/比; & lt; !——错误连接线颜色——比; & lt; attr name=癳rroStrokeColor"格式=癱olor"/比; & lt; !——连接线大小——比; & lt; attr name=皊trokeWidth"格式=癲imension"/比; & lt;/declare-styleable> & lt;/resources>
MainActivity。java:
<强>实现思路:
强>1,我们需要知道指示器有多少行,多少列,默认显示什么,选中后显示什么?
2,然后根据传入的密码把对应的点显示成选中状态,没有选中的点为默认状态。好了,知道我们的思路,首先自定义一个视图叫IndicatorView继承看来,然后重写三个构造方法:
公共类IndicatorView扩展视图{ 公共IndicatorView(上下文语境){ 这(上下文,null); } 公共IndicatorView(上下文语境,AttributeSet attrs) { 这(上下文、attrs 0); } 公共IndicatorView(上下文语境、AttributeSet attrs int defStyleAttr) { 超级(上下文、attrs defStyleAttr); } }定义自定义属性(在res/价值观下创建attrs。xml文件):
1,我们需要传入的默认显示图片:
& lt; !——默认状态的可拉的——比; & lt; attr name=皀ormalDrawable"格式=皉eference"/在2,我们需要拿到传入的选中时图片:
& lt; !——被选中状态的可拉的——比; & lt; attr name=皊electedDrawable"格式=皉eference"/在其它的一些属性:
& lt;及# 63;xml version=?.0”;编码=皍tf-8", # 63;比; & lt; resources> & lt; declare-styleable name=癐ndicatorView"祝辞 & lt; !——默认状态的可拉的——比; & lt; attr name=皀ormalDrawable"格式=皉eference"/比; & lt; !——被选中状态的可拉的——比; & lt; attr name=皊electedDrawable"格式=皉eference"/比; & lt; !——列数——比; & lt; attr name=癱olumn"格式=癷nteger"/比; & lt; !——行数——比; & lt; attr name=皉ow"格式=癷nteger"/比; & lt;/declare-styleable> & lt;/resources>定义完属性后,此时我们xml中就可以引用自定义观点了:
& lt; com.leo.library.view.IndicatorView android: id=癅 + id/id_indicator_view" android: layout_marginTop=?0 dp" android: layout_width=?5 dp" android: layout_height=?5 dp" android: layout_alignParentTop=皌rue" android: layout_centerHorizontal=皌rue" 应用:列=?”; 应用:normalDrawable=癅drawable/shape_white_indicator" 应用:填充=? dp" 应用:行=?”; 应用:selectedDrawable=癅drawable/shape_orange_indicator"/在如何在Android中利用视图实现一个手势密码功能