Android自定义密码样式 黑点转换成特殊字符

本文为大家分享了Android自定义密码样式的制作代码,黑点换成¥、%等特殊字符,供大家参考,具体内容如下

复制下面代码即可:

布局:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="50dp" android:layout_marginTop="25dp" android:hint="请输入数据" /> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <Button android:id="@+id/password" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="密文"/> <Button android:id="@+id/show_text" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:layout_weight="1" android:text="明文"/> </LinearLayout> <Button android:id="@+id/clean" android:layout_width="match_parent" android:layout_height="50dp" android:text="清除"/> </LinearLayout>

activity:

package com.chen; import android.app.Activity; import android.os.Bundle; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { Button psd; Button show_text; EditText et; Button clean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //将输入框中的内容变为密码格式 psd = (Button) findViewById(R.id.password); //将密码变为明文 show_text = (Button) findViewById(R.id.show_text); //清空输入框 clean = (Button) findViewById(R.id.clean); et = (EditText) findViewById(R.id.et); show_text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取编辑框中的数据内容 String context = et.getText().toString(); //将密码变为明文,这里不用setInputType et.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); //设置光标位置在数据最后 et.setSelection(context.length()); } }); psd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取编辑框中的数据内容 String context = et.getText().toString(); //将数据变为指定样式的密码 et.setTransformationMethod(new AsteriskPasswordTransformationMethod()); //设置光标位置在数据最后 et.setSelection(context.length()); } }); clean.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { et.setText(""); } }); } private class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod { @Override public CharSequence getTransformation(CharSequence source, View view) { return new PasswordCharSequence(source); } private class PasswordCharSequence implements CharSequence { private CharSequence mSource; public PasswordCharSequence(CharSequence source) { mSource = source; // Store char sequence } public char charAt(int index) { /* 当在编辑框中输入1的时候,会连续打印0... 当在编辑框中继续输入2的时候,会连续01... 不影响功能使用,但是出现原因不知,待解决 */ System.out.println("-----" + index + "-----"); //这里返回的char,就是密码的样式,注意,是char类型的 return '$'; // This is the important part } public int length() { return mSource.length(); // Return default } public CharSequence subSequence(int start, int end) { return mSource.subSequence(start, end); // Return default } } } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-30 16:59:37

Android自定义密码样式 黑点转换成特殊字符的相关文章

android自定义switch样式

问题描述 android自定义switch样式 原生的switch显示text只能在thumb上,自己替换thumb和track的时候swtich会根据thumb大小改变宽度,但我想在switch内写on/off,而不是在thumb上,在4.0以上系统就可以,安卓小白,不知道怎么弄.. 解决方案 效果如图 自定义组件CheckSwitchButton.Java 放在View文件下 package com.haiyisoft.teamassistant.view; import com.haiyi

responsebody-求springmvc中的@ResponseBody怎么配置,才能将自定义的po类转换成json格式

问题描述 求springmvc中的@ResponseBody怎么配置,才能将自定义的po类转换成json格式 在springmvc中,我想通过@ResponseBody的方式来返回json格式的数据,在mvc:annotation-driven/mvc:annotation-driven中应该怎么配置,网上找了很久没找到,我用的sprin版本是4.2.5的 我的Controller是这样的 前台的js是这么写的 在这个配置文件里面是不是还要配置一下啊?具体怎么配置,求教一下,小弟感激不尽. 解决

Android 自定义SeekBar样式

Android系统自带的SeekBar的样式比较单一,而且不同品牌手机被定制了之后样式也不一样,为了SeekBar的样式和应用的风格统一,就需要自定义SeekBar的样式,先看效果图: <SeekBar android:layout_width="192dip" android:layout_height="wrap_content" android:progressDrawable="@drawable/seekbar_style" an

python将ip地址转换成整数的方法

 这篇文章主要介绍了python将ip地址转换成整数的方法,涉及Python针对IP地址的转换技巧,需要的朋友可以参考下     本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. ? 1 2 3 4 5 6 7 import socket, struc

python将ip地址转换成整数的方法_python

本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. import socket, struct def ip2long(ip): """ Convert an IP string to long """

pdf转换成ppt转换器方法介绍

最简单的方法 PDFto图片toPPT 在以往的经验里说过用小软件把PDF装换成图片.由于图片是按顺序排列的可以用office一个小软件实现转换成ppt的功能,首先是将pdf转成图片.打开软件添加PDF文件 ==点击装换按钮,等待文档转换完毕,PDf就变成一系列图像文件了.   ==然后进入程序office.如同的路径找到一个叫office picture manager的程序点击运行该软件   ==点击添加图片添加快捷.然后找到图片所在的文件夹.然后点击添加.这样图片就被添加完毕了   ==然

格式-Android端SDK怎么把字符串转换成Android Intent?

问题描述 Android端SDK怎么把字符串转换成Android Intent? 同胞们.最近遇到一个问题.Android端SDK怎么把字符串转换成Android Intent?这个字符串的格式是怎样的?知道的告诉一声哈. 解决方案 自定义打开行为 您可以在自定义动作中填入您想要用户在点击后执行的动作,Android端SDK会把填入的字符串转换成Android Intent,通过该Intent打开对应app组件,所以填入的字符串格式必须遵循Android Intent uri格式,最简单的方法可

android自定义动态设置Button样式【很常用】

今天来看一个通过重写Button来动态实现一些效果,如圆角矩形.圆形.按下改变字体,改变背景色,改变背景图等 在此说明一下,这种实现方式绝对不是唯一的,而且通过xml文件即可简单实现,这样做只是为了将控件的样式完全由代码实现,更方便打包应用于其他项目 下面来看几张效果图:  图1 初始状态 图2 按下第一行的TEXT0  图3 按下第二行的TEXT1 图4 按下第三行的TEXT2,按住截屏时,没有截到Toast的提示 下面看代码,共两个类,一个布局文件 1 ButtonM.java:重写Butt

Android 自定义View 密码框实例代码_Android

暴露您view中所有影响可见外观的属性或者行为. •通过XML添加和设置样式 •通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 效果图展示: 支持的样式 可以通过XML定义影响外边和行为的属性如下 边框圆角值,边框颜色,分割线颜色,边框宽度,密码长度,密码大小,密码颜色 <declare-styleable name="PasswordInputView"> <attr name="borde