我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android怎么实现显示和隐藏密码功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android怎么实现显示和隐藏密码功能

这篇文章主要介绍“Android怎么实现显示和隐藏密码功能”,在日常操作中,相信很多人在Android怎么实现显示和隐藏密码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么实现显示和隐藏密码功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Java代码

package com.example.test2;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.text.method.HideReturnsTransformationMethod;import android.text.method.PasswordTransformationMethod;import android.view.View;import android.widget.EditText;import android.widget.ImageView;public class MainActivity extends AppCompatActivity implements View.OnClickListener{    private EditText password;    private ImageView imageView;    private boolean flag=true;    private HideReturnsTransformationMethod method_show;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        password = findViewById(R.id.password);        imageView = findViewById(R.id.img);        imageView.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.img:                changeImage();        }    }    private void changeImage() {        // todo 每次进入登陆时输入的密码都是隐藏的        PasswordTransformationMethod methodHide=PasswordTransformationMethod.getInstance();        password.setTransformationMethod(methodHide);        if(flag){            imageView.setImageDrawable(this.getResources().getDrawable(R.drawable.eye1));            flag=false;            // todo 隐藏密码            PasswordTransformationMethod method_hide = PasswordTransformationMethod.getInstance();            password.setTransformationMethod(method_hide);        }        else{            imageView.setImageDrawable(this.getResources().getDrawable(R.drawable.eye2));            flag=true;            // todo  显示密码            method_show= HideReturnsTransformationMethod.getInstance();            password.setTransformationMethod(method_show);        }        if (!password.getText().toString().trim().equals("")) {            password.setSelection(password.getText().toString().trim().length());//将光标移至文字末尾        }    }}

布局代码

<?xml version="1.0" encoding="utf-8"?><LinearLayout android:layout_height="match_parent"    android:layout_width="match_parent"    xmlns:android="http://schemas.android.com/apk/res/android">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="50dp"        android:background="@color/white"        android:orientation="horizontal" >        <EditText            android:id="@+id/password"            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="match_parent"            android:layout_gravity="center_vertical"            android:layout_marginLeft="10dp"            android:inputType="textPassword"            android:hint="请设置登录密码"            android:background="@null"/>        <button            android:id="@+id/btn"            android:layout_width="89dp"            android:layout_height="match_parent"            android:background="@drawable/eye2"/>            </LinearLayout></LinearLayout>

Activity 类是 Android 应用的关键组件,而 Activity 的启动和组合方式则是该平台应用模型的基本组成部分。在编程范式中,应用是通过 main() 方法启动的,而 Android 系统与此不同,它会调用与其生命周期特定阶段相对应的特定回调方法来启动 Activity 实例中的代码。

本文介绍了 Activity 的概念,并提供了有关如何使用 Activity 的简要说明。

Activity 的概念

移动应用体验与桌面体验的不同之处在于,用户与应用的互动并不总是在同一位置开始,而是经常以不确定的方式开始。例如,如果您从主屏幕打开电子邮件应用,可能会看到电子邮件列表,如果您通过社交媒体应用启动电子邮件应用,则可能会直接进入电子邮件应用的邮件撰写界面。

Activity 类的目的就是促进这种范式的实现。当一个应用调用另一个应用时,调用方应用会调用另一个应用中的 Activity,而不是整个应用。通过这种方式,Activity 充当了应用与用户互动的入口点。您可以将 Activity 实现为 Activity 类的子类。

Activity 提供窗口供应用在其中绘制界面。此窗口通常会填满屏幕,但也可能比屏幕小,并浮动在其他窗口上面。通常,一个 Activity 实现应用中的一个屏幕。例如,应用中的一个 Activity 实现“偏好设置”屏幕,而另一个 Activity 实现“选择照片”屏幕。

大多数应用包含多个屏幕,这意味着它们包含多个 Activity。通常,应用中的一个 Activity 会被指定为主 Activity,这是用户启动应用时出现的第一个屏幕。然后,每个 Activity 可以启动另一个 Activity,以执行不同的操作。例如,一个简单的电子邮件应用中的主 Activity 可能会提供显示电子邮件收件箱的屏幕。主 Activity 可能会从该屏幕启动其他 Activity,以提供执行写邮件和打开邮件这类任务的屏幕。

虽然应用中的各个 Activity 协同工作形成统一的用户体验,但每个 Activity 与其他 Activity 之间只存在松散的关联,应用内不同 Activity 之间的依赖关系通常很小。事实上,Activity 经常会启动属于其他应用的 Activity。例如,浏览器应用可能会启动社交媒体应用的“分享”Activity。

要在应用中使用 Activity,您必须在应用的清单中注册关于 Activity 的信息,并且必须适当地管理 Activity 的生命周期。本文的后续内容将介绍这些主题。

配置清单

要使应用能够使用 Activity,您必须在清单中声明 Activity 及其特定属性。

声明 Activity

要声明 Activity,请打开清单文件,并添加 元素作为 元素的子元素。例如:

<manifest ... >  <application ... >      <activity android:name=".ExampleActivity" />      ...  </application ... >  ...</manifest >

此元素唯一的必要属性是 android:name,该属性用于指定 Activity 的类名称。您也可以添加用于定义标签、图标或界面主题等 Activity 特征的属性。如需详细了解上述及其他属性,请参阅 元素参考文档。

注意:发布应用后,就不应再更改 Activity 名称,否则可能会破坏某些功能,例如应用快捷方式。

声明 intent 过滤器

Intent 过滤器是 Android 平台的一项非常强大的功能。借助这项功能,您不但可以根据显式请求启动 Activity,还可以根据隐式请求启动 Activity。例如,显式请求可能会告诉系统“在 Gmail 应用中启动&lsquo;发送电子邮件&rsquo;Activity”,而隐式请求可能会告诉系统“在任何能够完成此工作的 Activity 中启动&lsquo;发送电子邮件&rsquo;屏幕”。当系统界面询问用户使用哪个应用来执行任务时,这就是 intent 过滤器在起作用。

要使用此功能,您需要在 元素中声明 属性。此元素的定义包括 元素,以及可选的 元素和/或 元素。这些元素组合在一起,可以指定 Activity 能够响应的 intent 类型。例如,以下代码段展示了如何配置一个发送文本数据并接收其他 Activity 的文本数据发送请求的 Activity:

<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">    <intent-filter>        <action android:name="android.intent.action.SEND" />        <category android:name="android.intent.category.DEFAULT" />        <data android:mimeType="text/plain" />    </intent-filter></activity>

管理 Activity 生命周期 一个 Activity 在其生命周期中会经历多种状态。您可以使用一系列回调来处理状态之间的转换。下面几节将介绍这些回调。

onCreate()

您必须实现此回调,它会在系统创建您的 Activity 时触发。您的实现应该初始化 Activity 的基本组件:例如,您的应用应该在此处创建视图并将数据绑定到列表。最重要的是,您必须在此处调用 setContentView() 来定义 Activity 界面的布局。

onCreate() 完成后,下一个回调将是 onStart()。

onStart()

onCreate() 退出后,Activity 将进入“已启动”状态,并对用户可见。此回调包含 Activity 进入前台与用户进行互动之前的最后准备工作。

onResume()

系统会在 Activity 开始与用户互动之前调用此回调。此时,该 Activity 位于 Activity 堆栈的顶部,并会捕获所有用户输入。应用的大部分核心功能都是在 onResume() 方法中实现的。

onResume() 回调后面总是跟着 onPause() 回调。

onPause()

当 Activity 失去焦点并进入“已暂停”状态时,系统就会调用 onPause()。例如,当用户点按“返回”或“最近使用的应用”按钮时,就会出现此状态。当系统为您的 Activity 调用 onPause() 时,从技术上来说,这意味着您的 Activity 仍然部分可见,但大多数情况下,这表明用户正在离开该 Activity,该 Activity 很快将进入“已停止”或“已恢复”状态。

如果用户希望界面继续更新,则处于“已暂停”状态的 Activity 也可以继续更新界面。例如,显示导航地图屏幕或播放媒体播放器的 Activity 就属于此类 Activity。即使此类 Activity 失去了焦点,用户仍希望其界面继续更新。

您不应使用 onPause() 来保存应用或用户数据、进行网络呼叫或执行数据库事务。有关保存数据的信息,请参阅保存和恢复 Activity 状态。

onPause() 执行完毕后,下一个回调为 onStop()或 onResume(),具体取决于 Activity 进入“已暂停”状态后发生的情况。

onStop()

当 Activity 对用户不再可见时,系统会调用 onStop()。出现这种情况的原因可能是 Activity 被销毁,新的 Activity 启动,或者现有的 Activity 正在进入“已恢复”状态并覆盖了已停止的 Activity。在所有这些情况下,停止的 Activity 都将完全不再可见。

系统调用的下一个回调将是 onRestart()(如果 Activity 重新与用户互动)或者 onDestroy()(如果 Activity 彻底终止)。

onRestart()

当处于“已停止”状态的 Activity 即将重启时,系统就会调用此回调。onRestart() 会从 Activity 停止时的状态恢复 Activity。
此回调后面总是跟着 onStart()。

onDestroy()

系统会在销毁 Activity 之前调用此回调。

此回调是 Activity 接收的最后一个回调。通常,实现 onDestroy() 是为了确保在销毁 Activity 或包含该 Activity 的进程时释放该 Activity 的所有资源。

到此,关于“Android怎么实现显示和隐藏密码功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android怎么实现显示和隐藏密码功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android怎么实现显示和隐藏密码功能

这篇文章主要介绍“Android怎么实现显示和隐藏密码功能”,在日常操作中,相信很多人在Android怎么实现显示和隐藏密码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么实现显示和隐藏密
2023-07-02

Android实现密码隐藏和显示

这篇文章主要为大家详细介绍了Android实现密码隐藏和显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

Android 中怎么利用EditText实现密码的隐藏和显示功能

这篇文章给大家介绍Android 中怎么利用EditText实现密码的隐藏和显示功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android EditText密码的隐藏和显示功能实现效果图:实现代码:首先在xml里
2023-05-30

vue如何实现密码显示隐藏功能

这篇文章给大家分享的是有关vue如何实现密码显示隐藏功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果:思路:利用input的type属性,当type值是text的时候展示密码,当type值是password
2023-06-14

Android应用中怎么实现一个密码显示与隐藏功能

Android应用中怎么实现一个密码显示与隐藏功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。实现代码如下:2023-05-31

Android实现标题显示隐藏功能

本文实例尝试模仿实现Android标题显示隐藏功能,通过给listview设置 mListView.setOnTouchListener 监听 重写ontouch方法 监听手指一动的坐标,当超过ViewConfiguration.get(t
2022-06-06

Android中实现密码的隐藏和显示的示例

在Android开发中,需要密码的隐藏和显示,下面就和大家分享一下使用方法:xml代码:
2023-05-30

Android开发EditText实现密码显示隐藏

这篇文章主要为大家详细介绍了Android开发EditText实现密码显示隐藏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

react怎么实现密码隐藏功能

react实现密码隐藏功能的方法:1、添加依赖“import {View,Text,TouchableWithoutFeedback,TextInput,Image,StyleSheet,} from 'react-native';”;2、通过“{this.state.imageState ? (...)}”方法实现密码显示与隐藏功能即可。
2023-05-14

Android中实现EditText密码显示隐藏的方法

在Google发布了support:design:23+以后我们发现有这么一个东西TextInputLayout,先看下效果图:
2022-06-06

Android 显示和隐藏输入法实现代码

代码如下: // 隐藏输入法 InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METH
2022-06-06

vue基于input如何实现密码的显示与隐藏功能

vue基于input如何实现密码的显示与隐藏功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言大家都知道,一般情况下,输入框的密码我们是看不到密码的,只有当
2023-06-26

Android TextView实现点击显示全文与隐藏功能(附源码)

前言 相信大家在日常开发的时候,经常会遇到大段文本需要部分展示的场景,通常的做法是在隐藏的状态下文本末尾加上「显示全文」,在展开的状态下文本末尾加上「隐藏」来控制文本的展示状态。这个交互可能有很多种实现方法,本文则以一个简单的 TextVi
2022-06-06

Android软键盘的显示隐藏功能实现过程

一、软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog! InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,
2022-06-06

html中如何实现密码隐藏显示

小编给大家分享一下html中如何实现密码隐藏显示,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html实现密码隐藏显示的方法:首先写好HTML界面标签以及css样
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录