EditText常用属性:为文本输入框指定软键盘类型和软键盘回车键图标设置

Posted DreamerQL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText常用属性:为文本输入框指定软键盘类型和软键盘回车键图标设置相关的知识,希望对你有一定的参考价值。

【一】为文本输入框指定软键盘类型


【扩展阅读】android:inputType参数类型说明

[html] view plain copy print ?
  1. android:inputType="none"--输入普通字符  
  2. android:inputType="text"--输入普通字符  
  3. android:inputType="textCapCharacters"--输入普通字符  
  4. android:inputType="textCapWords"--单词首字母大小  
  5. android:inputType="textCapSentences"--仅第一个字母大小  
  6. android:inputType="textAutoCorrect"--前两个自动完成  
  7. android:inputType="textAutoComplete"--前两个自动完成  
  8. android:inputType="textMultiLine"--多行输入  
  9. android:inputType="textImeMultiLine"--输入法多行(不一定支持)  
  10. android:inputType="textNoSuggestions"--不提示  
  11. android:inputType="textUri"--URI格式  
  12. android:inputType="textEmailAddress"--电子邮件地址格式  
  13. android:inputType="textEmailSubject"--邮件主题格式  
  14. android:inputType="textShortMessage"--短消息格式  
  15. android:inputType="textLongMessage"--长消息格式  
  16. android:inputType="textPersonName"--人名格式  
  17. android:inputType="textPostalAddress"--邮政格式  
  18. android:inputType="textPassword"--密码格式  
  19. android:inputType="textVisiblePassword"--密码可见格式  
  20. android:inputType="textWebEditText"--作为网页表单的文本格式  
  21. android:inputType="textFilter"--文本筛选格式  
  22. android:inputType="textPhonetic"--拼音输入格式  
  23. android:inputType="number"--数字格式  
  24. android:inputType="numberSigned"--有符号数字格式  
  25. android:inputType="numberDecimal"--可以带小数点的浮点格式  
  26. android:inputType="phone"--拨号键盘  
  27. android:inputType="datetime"  
  28. android:inputType="date"--日期键盘  
  29.   
  30. android:inputType="time"--时间键盘  
android:inputType="none"--输入普通字符
android:inputType="text"--输入普通字符
android:inputType="textCapCharacters"--输入普通字符
android:inputType="textCapWords"--单词首字母大小
android:inputType="textCapSentences"--仅第一个字母大小
android:inputType="textAutoCorrect"--前两个自动完成
android:inputType="textAutoComplete"--前两个自动完成
android:inputType="textMultiLine"--多行输入
android:inputType="textImeMultiLine"--输入法多行(不一定支持)
android:inputType="textNoSuggestions"--不提示
android:inputType="textUri"--URI格式
android:inputType="textEmailAddress"--电子邮件地址格式
android:inputType="textEmailSubject"--邮件主题格式
android:inputType="textShortMessage"--短消息格式
android:inputType="textLongMessage"--长消息格式
android:inputType="textPersonName"--人名格式
android:inputType="textPostalAddress"--邮政格式
android:inputType="textPassword"--密码格式
android:inputType="textVisiblePassword"--密码可见格式
android:inputType="textWebEditText"--作为网页表单的文本格式
android:inputType="textFilter"--文本筛选格式
android:inputType="textPhonetic"--拼音输入格式
android:inputType="number"--数字格式
android:inputType="numberSigned"--有符号数字格式
android:inputType="numberDecimal"--可以带小数点的浮点格式
android:inputType="phone"--拨号键盘
android:inputType="datetime"
android:inputType="date"--日期键盘

android:inputType="time"--时间键盘

【二】软键盘回车键图标设置


【三】实例源码

activity_main.xml

[java] view plain copy print ?
  1. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="wrap_content" >  
  5.   
  6.     <RelativeLayout  
  7.         android:layout_width="fill_parent"  
  8.         android:layout_height="wrap_content" >  
  9.   
  10.         <TextView  
  11.             android:id="@+id/tip2"  
  12.             android:layout_width="wrap_content"  
  13.             android:layout_height="wrap_content"  
  14.             android:text="1.指定软键盘的类型为:数字  android:inputType = date" />  
  15.   
  16.         <EditText  
  17.             android:id="@+id/edit_tip"  
  18.             android:layout_width="fill_parent"  
  19.             android:layout_height="40dp"  
  20.             android:layout_below="@+id/tip2"  
  21.             android:inputType="date" />  
  22.   
  23.         <TextView  
  24.             android:id="@+id/tip3"  
  25.             android:layout_width="wrap_content"  
  26.             android:layout_height="wrap_content"  
  27.             android:layout_below="@+id/edit_tip"  
  28.             android:text="2.指定软键盘的类型为:文本  android:inputType = text" />  
  29.   
  30.         <EditText  
  31.             android:id="@+id/edit_tip2"  
  32.             android:layout_width="fill_parent"  
  33.             android:layout_height="40dp"  
  34.             android:layout_below="@+id/tip3"  
  35.             android:inputType="text" />  
  36.   
  37.         <TextView  
  38.             android:id="@+id/tip4"  
  39.             android:layout_width="wrap_content"  
  40.             android:layout_height="wrap_content"  
  41.             android:layout_below="@+id/edit_tip2"  
  42.             android:text="3.设置Enter键的图标为【搜索】  android:imeOptions = actionSearch" />  
  43.   
  44.         <EditText  
  45.             android:id="@+id/edit_tip3"  
  46.             android:layout_width="fill_parent"  
  47.             android:layout_height="40dp"  
  48.             android:layout_below="@+id/tip4"  
  49.             android:imeOptions="actionSearch" />  
  50.   
  51.         <TextView  
  52.             android:id="@+id/tip5"  
  53.             android:layout_width="wrap_content"  
  54.             android:layout_height="wrap_content"  
  55.             android:layout_below="@+id/edit_tip3"  
  56.             android:text="4.设置Enter键的图标为【go】 android:imeOptions = actionGo " />  
  57.   
  58.         <EditText  
  59.             android:id="@+id/edit_tip4"  
  60.             android:layout_width="fill_parent"  
  61.             android:layout_height="40dp"  
  62.             android:layout_below="@+id/tip5"  
  63.             android:imeOptions="actionGo" />  
  64.   
  65.         <TextView  
  66.             android:id="@+id/tip6"  
  67.             android:layout_width="wrap_content"  
  68.             android:layout_height="wrap_content"  
  69.             android:layout_below="@+id/edit_tip4"  
  70.             android:text="5.设置Enter键的图标为【send】  android:imeOptions = actionSend" />  
  71.   
  72.         <EditText  
  73.             android:id="@+id/edit_tip5"  
  74.             android:layout_width="fill_parent"  
  75.             android:layout_height="40dp"  
  76.             android:layout_below="@+id/tip6"  
  77.             android:imeOptions="actionSend" />  
  78.   
  79.         <TextView  
  80.             android:id="@+id/tip7"  
  81.             android:layout_width="wrap_content"  
  82.             android:layout_height="wrap_content"  
  83.             android:layout_below="@+id/edit_tip5"  
  84.             android:text="6.设置Enter键的图标为【next】  android:imeOptions = actionNext" />  
  85.   
  86.         <EditText  
  87.             android:id="@+id/edit_tip6"  
  88.             android:layout_width="fill_parent"  
  89.             android:layout_height="40dp"  
  90.             android:layout_below="@+id/tip7"  
  91.             android:imeOptions="actionNext" />  
  92.   
  93.         <TextView  
  94.             android:id="@+id/tip8"  
  95.             android:layout_width="wrap_content"  
  96.             android:layout_height="wrap_content"  
  97.             android:layout_below="@+id/edit_tip6"  
  98.             android:text="7.设置Enter键的图标为【done】  android:imeOptions = actionDone" />  
  99.   
  100.         <EditText  
  101.             android:id="@+id/edit_tip7"  
  102.             android:layout_width="fill_parent"  
  103.             android:layout_height="40dp"  
  104.             android:layout_below="@+id/tip8"  
  105.             android:imeOptions="actionDone" />  
  106.   
  107.         <TextView  
  108.             android:id="@+id/t9"  
  109.             android:layout_width="wrap_content"  
  110.             android:layout_height="wrap_content"  
  111.             android:layout_below="@+id/edit_tip7"  
  112.             android:text="8.设置Enter键的图标为【未指定】  android:imeOptions = actionUnspecified" />  
  113.   
  114.         <EditText  
  115.             android:id="@+id/e9"  
  116.             android:layout_width="fill_parent"  
  117.             android:layout_height="40dp"  
  118.             android:layout_below="@+id/t9"  
  119.             android:imeOptions="actionUnspecified" />  
  120.   
  121.         <TextView  
  122.             android:id="@+id/t10"  
  123.             android:layout_width="wrap_content"  
  124.             android:layout_height="wrap_content"  
  125.             android:layout_below="@+id/e9"  
  126.             android:text="9.设置Enter键的图标为【没有动作】   android:imeOptions = actionNone" />  
  127.   
  128.         <EditText  
  129.             android:id="@+id/e10"  
  130.             android:layout_width="fill_parent"  
  131.             android:layout_height="40dp"  
  132.             android:layout_below="@+id/t10"  
  133.             android:imeOptions="actionNone" />  
  134.     </RelativeLayout>  
  135.   
  136. </ScrollView>  
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/tip2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1.指定软键盘的类型为:数字  android:inputType = date" />

        <EditText
            android:id="@+id/edit_tip"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip2"
            android:inputType="date" />

        <TextView
            android:id="@+id/tip3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip"
            android:text="2.指定软键盘的类型为:文本  android:inputType = text" />

        <EditText
            android:id="@+id/edit_tip2"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip3"
            android:inputType="text" />

        <TextView
            android:id="@+id/tip4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip2"
            android:text="3.设置Enter键的图标为【搜索】  android:imeOptions = actionSearch" />

        <EditText
            android:id="@+id/edit_tip3"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip4"
            android:imeOptions="actionSearch" />

        <TextView
            android:id="@+id/tip5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip3"
            android:text="4.设置Enter键的图标为【go】 android:imeOptions = actionGo " />

        <EditText
            android:id="@+id/edit_tip4"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip5"
            android:imeOptions="actionGo" />

        <TextView
            android:id="@+id/tip6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip4"
            android:text="5.设置Enter键的图标为【send】  android:imeOptions = actionSend" />

        <EditText
            android:id="@+id/edit_tip5"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip6"
            android:imeOptions="actionSend" />

        <TextView
            android:id="@+id/tip7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip5"
            android:text="6.设置Enter键的图标为【next】  android:imeOptions = actionNext" />

        <EditText
            android:id="@+id/edit_tip6"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip7"
            android:imeOptions="actionNext" />

        <TextView
            android:id="@+id/tip8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip6"
            android:text="7.设置Enter键的图标为【done】  android:imeOptions = actionDone" />

        <EditText
            android:id="@+id/edit_tip7"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/tip8"
            android:imeOptions="actionDone" />

        <TextView
            android:id="@+id/t9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit_tip7"
            android:text="8.设置Enter键的图标为【未指定】  android:imeOptions = actionUnspecified" />

        <EditText
            android:id="@+id/e9"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/t9"
            android:imeOptions="actionUnspecified" />

        <TextView
            android:id="@+id/t10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/e9"
            android:text="9.设置Enter键的图标为【没有动作】   android:imeOptions = actionNone" />

        <EditText
            android:id="@+id/e10"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/t10"
            android:imeOptions="actionNone" />
    </RelativeLayout>

</ScrollView>

MainActivity.java

[java] view plain copy print ?
  1. package com.wirelessqa.edittext;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.KeyEvent;  
  6. import android.view.inputmethod.EditorInfo;  
  7. import android.widget.EditText;  
  8. import android.widget.TextView;  
  9. import android.widget.TextView.OnEditorActionListener;  
  10. import android.widget.Toast;  
  11.   
  12. public class MainActivity extends Activity   
  13.   
  14.     private EditText edit_search      = null;  
  15.     private EditText edit_go          = null;  
  16.     private EditText edit_next        = null;  
  17.     private EditText edit_done        = null;  
  18.     private EditText edit_send        = null;  
  19.     private EditText edit_none        = null;  
  20.     private EditText edit_unspecified = null;  
  21.   
  22.     @Override  
  23.     protected void onCreate(Bundle savedInstanceState)   
  24.         super.onCreate(savedInstanceState);  
  25.         setContentView(R.layout.activity_main);  
  26.         edit_search = (EditText) findViewById(R.id.edit_tip3);  
  27.         edit_go = (EditText) findViewById(R.id.edit_tip4);  
  28.         edit_send = (EditText) findViewById(R.id.edit_tip5);  
  29.         edit_next = (EditText) findViewById(R.id.edit_tip6);  
  30.         edit_done = (EditText) findViewById(R.id.edit_tip7);  
  31.         edit_unspecified = (EditText) findViewById(R.id.e9);  
  32.         edit_none = (EditText) findViewById(R.id.e10);  
  33.   
  34.         edit_search.setOnEditorActionListener(new OnEditorActionListener()   
  35.   
  36.             @Override  
  37.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  38.                 whichImeAction(actionId);  
  39.                 return true;  
  40.               
  41.         );  
  42.         edit_go.setOnEditorActionListener(new OnEditorActionListener()   
  43.   
  44.             @Override  
  45.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  46.                 whichImeAction(actionId);  
  47.                 return true;  
  48.               
  49.         );  
  50.         edit_send.setOnEditorActionListener(new OnEditorActionListener()   
  51.   
  52.             @Override  
  53.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  54.                 whichImeAction(actionId);  
  55.                 return true;  
  56.               
  57.         );  
  58.         edit_next.setOnEditorActionListener(new OnEditorActionListener()   
  59.   
  60.             @Override  
  61.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  62.                 whichImeAction(actionId);  
  63.                 return true;  
  64.               
  65.         );  
  66.         edit_done.setOnEditorActionListener(new OnEditorActionListener()   
  67.   
  68.             @Override  
  69.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  70.                 whichImeAction(actionId);  
  71.                 return true;  
  72.               
  73.         );  
  74.         edit_unspecified.setOnEditorActionListener(new OnEditorActionListener()   
  75.   
  76.             @Override  
  77.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  78.                 whichImeAction(actionId);  
  79.                 return true;  
  80.               
  81.         );  
  82.         edit_none.setOnEditorActionListener(new OnEditorActionListener()   
  83.   
  84.             @Override  
  85.             public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event)   
  86.                 whichImeAction(actionId);  
  87.                 return true;  
  88.               
  89.         );  
  90.   
  91.       
  92.   
  93.     private void whichImeAction(int actionId)   
  94.         switch (actionId)   
  95.             case EditorInfo.IME_ACTION_SEARCH:  
  96.                 Toast.makeText(MainActivity.this"Enter为【搜索】", Toast.LENGTH_SHORT).show();  
  97.                 break;  
  98.             case EditorInfo.IME_ACTION_GO:  
  99.                 Toast.makeText(MainActivity.this"Enter为【go】", Toast.LENGTH_SHORT).show();  
  100.                 break;  
  101.             case EditorInfo.IME_ACTION_NEXT:  
  102.                 Toast.makeText(MainActivity.this"Enter为【下一个】", Toast.LENGTH_SHORT).show();  
  103.                 break;  
  104.             case EditorInfo.IME_ACTION_NONE:  
  105.                 Toast.makeText(MainActivity.this"Enter为【没有动作】", Toast.LENGTH_SHORT).show();  
  106.                 break;  
  107.             case EditorInfo.IME_ACTION_DONE:  
  108.                 Toast.makeText(MainActivity.this"Enter为【完成】", Toast.LENGTH_SHORT).show();  
  109.                 break;  
  110.             case EditorInfo.IME_ACTION_SEND:  
  111.                 Toast.makeText(MainActivity.this"Enter为【发送】", Toast.LENGTH_SHORT).show();  
  112.                 break;  
  113.             case EditorInfo.IME_ACTION_UNSPECIFIED:  
  114.                 Toast.makeText(MainActivity.this"Enter为【未指定】", Toast.LENGTH_SHORT).show();  
  115.                 break;  
  116.             default:  
  117.                 break;  
  118.           
  119.       
  120.   
  121.  

以上是关于EditText常用属性:为文本输入框指定软键盘类型和软键盘回车键图标设置的主要内容,如果未能解决你的问题,请参考以下文章

EditText弹出软键盘遮住输入框问题

Android EditText软键盘问题

[Android UI界面] 软键盘覆盖edittext 使用ScrollView的详解、、高手快来吧

AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题

Android 文本,软键盘使用指南

自定义软键盘输入盖住edittext的问题怎么解决