Android自定义密码样式 黑点转换成特殊字符
发布时间 - 2026-01-11 02:16:19 点击率:次本文为大家分享了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
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 密码样式
# Android 实现密码输入框动态明文/密文切换显示效果
# Android中EditText显示明文与密码的两种方式
# Android程序开发之防止密码输入错误 密码明文显示功能
# 框中
# 请输入
# 自定义
# 大家分享
# 具体内容
# 大家多多
# 清空
# 输入框
# 特殊字符
# 框中输入
# default
# horizontal
# layout_weight
# password
# Button
# hint
# dp
# layout_marginTop
# id
# text
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
高防服务器:AI智能防御DDoS攻击与数据安全保障
html如何与html链接_实现多个HTML页面互相链接【互相】
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
新三国志曹操传主线渭水交兵攻略
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
JavaScript如何实现倒计时_时间函数如何精确控制
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何用虚拟主机快速搭建网站?详细步骤解析
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel怎么使用artisan命令缓存配置和视图
如何快速搭建自助建站会员专属系统?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
如何构建满足综合性能需求的优质建站方案?
历史网站制作软件,华为如何找回被删除的网站?
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Laravel Session怎么存储_Laravel Session驱动配置详解
如何用西部建站助手快速创建专业网站?
详解Huffman编码算法之Java实现
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在万网利用已有域名快速建站?
如何快速辨别茅台真假?关键步骤解析
简单实现Android文件上传
Laravel定时任务怎么设置_Laravel Crontab调度器配置
C++用Dijkstra(迪杰斯特拉)算法求最短路径
如何基于云服务器快速搭建个人网站?
网站图片在线制作软件,怎么在图片上做链接?
原生JS实现图片轮播切换效果
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Windows Hello人脸识别突然无法使用
,在苏州找工作,上哪个网站比较好?
香港服务器租用费用高吗?如何避免常见误区?
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
网易LOFTER官网链接 老福特网页版登录地址
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
如何在 React 中条件性地遍历数组并渲染元素
企业网站制作这些问题要关注
微信h5制作网站有哪些,免费微信H5页面制作工具?

