EditText是一个Android小部件。它是用于输入和修改数据的用户界面元素。它以字符串格式返回数据。
遮罩是指将某物替换为其他物的过程。因此,通过对EditText进行遮罩,空白将被替换为某些默认文本,即Mask。一旦用户输入任何字符作为输入,此掩码将被删除,并且当文本已从EditText中删除时,该掩码将重新出现。
在本文中,掩蔽是在JitPack库的帮助下完成的,因为可以根据实现电话号码,日期等各个字段的需要轻松地对其进行自定义。
方法:
- 在根build.gradle文件(而不是模块build.gradle文件)中添加支持库。这个库jitpack是一个新颖的软件包存储库。它是为JVM设计的,因此github和bigbucket中存在的任何库都可以直接在应用程序中使用。
allprojects { repositories { maven { url "https://jitpack.io" } } }
- 在“依赖项”部分中添加以下依赖项。这是一个简单的Android edittext,带有自定义遮罩支持。掩码edittext直接导入,并根据用途进行定制。
dependencies { implementation 'ru.egslava:MaskedEditText:1.0.5' }
- 现在,将以下代码添加到activity_main.xml文件中。它将在activity_main.xml中创建三个遮罩编辑文本和一个按钮。
activity_main.xml
app:mask="#### #### #### ####" android:layout_height="wrap_content" android:layout_margin="20dp" android:id="@+id/card"/> app:mask="+91 ### ### ####"/> app:mask="##:##:####"/>
MainActivity.java
package org.geeksforgeeks.gfgMaskEditText; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import br.com.sapereaude .maskedEditText .MaskedEditText; public class MainActivity extends AppCompatActivity { MaskedEditText creditCardText, phoneNumText, dateText; Button show; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); creditCardText = findViewById(R.id.card); phoneNumText = findViewById(R.id.phone); dateText = findViewById(R.id.Date); show = findViewById(R.id.showButton); show.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Display the information // from the EditText // with help of Taosts Toast.makeText( MainActivity.this, "Credit Card Number " + creditCardText.getText() + "\n Phone Number " + phoneNumText.getText() + "\n Date " + dateText.getText(), Toast.LENGTH_LONG) .show(); } }); } }
- 现在,在MainActivity中添加以下代码。 Java文件。定义了所有三个遮罩编辑文本和一个按钮。在按钮上添加了onClickListener() ,该按钮创建了一个吐司,并显示了在蒙版edittexts中输入的所有数据。
主要活动。Java
package org.geeksforgeeks.gfgMaskEditText; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import br.com.sapereaude .maskedEditText .MaskedEditText; public class MainActivity extends AppCompatActivity { MaskedEditText creditCardText, phoneNumText, dateText; Button show; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); creditCardText = findViewById(R.id.card); phoneNumText = findViewById(R.id.phone); dateText = findViewById(R.id.Date); show = findViewById(R.id.showButton); show.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Display the information // from the EditText // with help of Taosts Toast.makeText( MainActivity.this, "Credit Card Number " + creditCardText.getText() + "\n Phone Number " + phoneNumText.getText() + "\n Date " + dateText.getText(), Toast.LENGTH_LONG) .show(); } }); } }
输出: