为了账号安全,请及时绑定邮箱和手机立即绑定

从零开发Android系列(2)-控件篇-EditText

2018.12.05 09:02 990浏览

EditText是一个输入框,用户可以往里面输入文字,我们这边做拿EditText做一个登录界面

https://img1.sycdn.imooc.com/5c07227100016dcd04320726.jpg

我们来写一下xml文件,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/desktopnoticebg">
   <ImageView 
       android:id="@+id/login_titlebar"
      android:layout_height="66dp" 
      android:layout_width="fill_parent"
      android:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="@drawable/kaixinwang_login"
      android:scaleType="centerInside"
      android:background="@drawable/titlebg1pix_login">  
   </ImageView>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/login_idlayout"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginTop="25dp"
       android:layout_below="@id/login_titlebar"
       android:layout_centerHorizontal="true">
      <TextView
          android:id="@+id/login_tvID"  
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/login_id"
          android:layout_marginTop="4dp"
          android:textColor="@drawable/black"
          android:textSize="20sp"
          />
      <EditText 
          android:id="@+id/login_etID"
          android:layout_width="220dp"
          android:layout_height="wrap_content" 
          android:layout_toRightOf="@id/login_tvID"
          android:layout_marginLeft="4dp"
          android:singleLine="true"
          android:inputType="textEmailAddress"
          android:maxLength="300"
          />
   </RelativeLayout>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/login_pwdlayout"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginTop="10dp"
       android:layout_below="@id/login_idlayout"
       android:layout_centerHorizontal="true">
      <TextView
          android:id="@+id/login_tvPwd"  
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/login_pwd"
          android:layout_marginTop="4dp"
          android:textColor="@drawable/black"
          android:textSize="20sp"
          />
      <EditText 
          android:id="@+id/login_etPwd"
          android:layout_width="220dp"
          android:layout_height="wrap_content"
          android:inputType="textPassword"
          android:singleLine="true"
          android:layout_marginLeft="4dp"
          android:layout_toRightOf="@id/login_tvPwd"
          android:maxLength="300"
          />
      <Button 
          android:id="@+id/login_btnLogin"
          android:layout_width="220dp"
          android:layout_height="wrap_content"
          android:text="@string/login_btn"
          android:layout_below="@id/login_etPwd"
          android:layout_alignLeft="@id/login_etPwd"
          android:textSize="20sp"
          android:layout_marginTop="10dp"
          />
   </RelativeLayout>
</RelativeLayout>

我们看到EditText有一个很重要的属性是inputType,可以指定输入是密码,还是邮箱等等

如何去监听用户的输入呢,android提供了TextWatch接口,

m_txtPassword.addTextChangedListener(new TextWatcher() {

   @Override
   public void onTextChanged(CharSequence s, int start, int before,  int count) {}

   @Override
   public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

   @Override
   public void afterTextChanged(Editable s) {}
});

其中onTextChanged的参数意思是:

其中有4个参数: 
CharSequence s:文本改变之后的内容 
int start : 被替换文本区域起点位置,setText时是替换所有内容,此时数值为0 
int before:被替换之前的文本区域字符数目 
int count:替换后的文本字符数目

afterTextChanged的参数意思是:

Editable s:文本改变之后的内容


点击查看更多内容

本文首次发布于慕课网 ,转载请注明出处,谢谢合作

0人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消