仿支付宝/微信的密码输入框效果GridPasswordView解析

仿支付宝/微信的密码输入框效果GridPasswordView解析,把一些设置和一些关键的地方列了出来,方便大家使用,可能可以省一部分的时间,也算是自己的积累吧。

1.密码框可以输入的类型PasswordType

public enum PasswordType {
    NUMBER, TEXT, TEXTVISIBLE, TEXTWEB;
}

这里可以自行添加类型,然后在GridPasswordView中修改

    @Override
    public void setPasswordType(PasswordType passwordType) {
        boolean visible = getPassWordVisibility();
        int inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD;
        switch (passwordType) {

            case TEXT:
                inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD;
                break;

            case TEXTVISIBLE:
                inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
                break;

            case TEXTWEB:
                inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD;
                break;
        }

        for (TextView textView : viewArr)
            textView.setInputType(inputType);

        setPasswordVisibility(visible);
    }

2.PasswordView中的抽象方法的作用

interface PasswordView {

	//获取密码
    String getPassWord();

    //清空密码
    void clearPassword();

    //设置密码
    void setPassword(String password);

    //设置密码可见性
    void setPasswordVisibility(boolean visible);

    //密码可见性的切换
    void togglePasswordVisibility();

    //设置密码改变监听
    void setOnPasswordChangedListener(GridPasswordView.OnPasswordChangedListener listener);

    //设置密码类型
    void setPasswordType(PasswordType passwordType);
}

3.GridPasswordView中还有些方法没有去操作,有需要可以自己去写

setBackground(Drawable)
setBackgroundColor(int)
setBackgroundResource(int)
setBackgroundDrawable(Drawable)

这个类是View的主类,可以通过这个类去满足你的需求

4.在GridPasswordView中设置框框颜色和背景颜色(绿色和红色)

private static final int DEFAULT_LINECOLOR = 0xaa61cea8;
private static final int DEFAULT_GRIDCOLOR = 0xffe66961;

5.设置文本的大小和颜色(40px和蓝色)

private static final int DEFAULT_TEXTSIZE = 40;
textColor = ColorStateList.valueOf(getResources().getColor(android.R.color.holo_blue_light));

6.在gridpasswordview_styles.xml中设置了样式,大家根据需要更改

    <style name="GridPasswordView.TextView">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:background">@null</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_weight">1</item>
        <item name="android:singleLine">true</item>
    </style>

    <style name="GridPasswordView.EditText" parent="GridPasswordView.TextView">
        <item name="android:cursorVisible">false</item>
    </style>

    <style name="GridPasswordView.Divider">
        <item name="android:layout_width">1dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_marginTop">1dp</item>
        <item name="android:layout_marginBottom">1dp</item>
    </style>

7.在gridpasswordview_attr.xml设置属性值

    <declare-styleable name="gridPasswordView">

        <attr name="textColor" format="color|reference" />
        <attr name="textSize" format="dimension" />

        <attr name="lineColor" format="color" />
        <attr name="gridColor" format="color" />
        <attr name="lineWidth" format="dimension" />

        <attr name="passwordLength" format="integer" />
        <attr name="passwordTransformation" format="string" />

        <attr name="passwordType" format="enum">
            <enum name="numberPassword" value="0" />
            <enum name="textPassword" value="1" />
            <enum name="textVisiblePassword" value="2" />
            <enum name="textWebPassword" value="3" />
        </attr>

    </declare-styleable>

8.效果图

源码下载地址;http://download.csdn.net/detail/pcaxb/8980873

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-07 17:52:02

仿支付宝/微信的密码输入框效果GridPasswordView解析的相关文章

仿支付宝/微信的password输入框效果GridPasswordView解析

仿支付宝/微信的password输入框效果GridPasswordView解析,把一些设置和一些关键的地方列了出来,方便大家使用,可能能够省一部分的时间,也算是自己的积累吧. 1.password框能够输入的类型PasswordType public enum PasswordType { NUMBER, TEXT, TEXTVISIBLE, TEXTWEB; } 这里能够自行加入类型,然后在GridPasswordView中改动 @Override public void setPasswor

仿支付宝首页头部伸缩效果

原文链接:https://mp.weixin.qq.com/s/GegMt7GDBCFVoUgFQWG3Sw 每次打开支付宝首页滑动,头部的伸缩动画甚是吸引人.于是自己决定动手来实现一个. 无图言虚空,效果图: 首先看到这种效果,第一反应就是coordinatorLayout布局,android studio新建项目时,可以直接新建个Scrolling Activity来查看demo效果. 官方自带的布局示例: gradle关联 implementation 'com.android.suppo

【开源项目解析】仿支付宝付款成功及&quot;天女散花&quot;效果实现——看PathMeasure大展身手

话说,在前面两篇文章中,我们学习了BitmapShader.Path的基本使用,那么这一篇文章,咱们接着来学习一下PathMeasure的用法.什么,你没听说过PathMeasure?那你就要OUT咯~ 项目效果图 PathMeasure介绍 仿支付宝实现原理解析 天女散花实现效果解析 更多参考资料 项目效果图 废话不多说,在开始讲解之前,先看下最终实现的效果. 效果一: 仿支付宝支付成功效果 效果二: 这两个项目都是使用Path和PathMeature配合完成的,由其他项目改造而来 项目一是七

Android PopupWindow 仿微信弹出效果

项目中,我需要PopupWindow的时候特别多,这个东西也特别的好使,所以我今天给大家写一款PopupWindow 仿微信弹出效果,这样大家直接拿到项目里就可以用了!首先让我们先看效果: 那么我首先先看下布局代码非常简单:如下 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pop_layout" android:layout_

Android自定义view之仿支付宝芝麻信用仪表盘

自定义view练习 仿支付宝芝麻信用的仪表盘 对比图: 首先是自定义一些属性,可自己再添加,挺基础的,上代码 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="RoundIndicatorView"> <!--最大数值--> <attr name="maxNum" form

[ios仿系列]仿支付宝手势解码

呀~.这么快就转到ios阵营了???.android还有那么多坑呢???为此我也仅仅能啃着馒头留下屈辱的眼泪了. . 本次因为开发公司产品的android版,继而ios版也负责一部分.当中一部分就是手势解锁的问题(为了要与android版一致,也算是非了一部分心血) 然而.但我打开iPhone,发现支付宝client已经没有手势解锁了,取而代之的时指纹解锁,关于指纹解锁,临时还来不及研究,仅仅能以后有机会再说了.. . 当然,支付宝android眼下还是手势解锁,所以也是为了与之相应(ios版如

移动支付--银联,支付宝,微信(android)

在这个移动互联网高速发展的时代,手机已经成为人们生活或者出行之中不可缺少的设备了,现在很多城市的商户都可以采用支付宝,微信支付了,人们出门只需要随身携带带手机,不用带大量现金就可以放心购物了.现在的很多移动互联网产品都应用到移动支付功能,特别像电商平台,每天下单,支付就是他们处理的最复杂的业务逻辑.作为一位Android开发人员也必须应该懂得怎样在自己所开发的应用中接入当今互联网非常流行的移动支付(银联,支付宝,微信)功能.所以此篇文章就来记录一下Android对于移动支付的一些开发步骤. 银联

Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现

Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现 2015-03-10 22:38 28419人阅读 评论(17) 收藏 举报  分类: Android UI(819)  Android开发(1568)  关注finddreams:http://blog.csdn.net/finddreams/article/details/43486527 今天我们来模仿一下支付宝钱包首页中带有分割线的GridView,俗称九宫格.先上图,是你想要的效果么?如果

仿一号店APP商品分类效果开发Android版本

昨天我们一起学习了一下一号店(IOS版本)(仿一号店APP商品分类效果开发IOS)商品分类效果编写今天我们一起来看一下Android版本上面的实现.其实我们的实现的具体思路差不多.总体先搞定一级分类,然后二级我们这边使用GridView布局.然后点击一级分类的每一项的时候,动态显示以及隐藏相关的二级分类数据.现在我们来看一下实现的效果. 然后这边还有一点需要介绍的是ViewGrounp的一个动画android:animateLayoutchanges属性.这个属性设置这样就自动地按照默认方式来对