zoukankan      html  css  js  c++  java
  • android:imeOptions属性

    默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘



     

    设置 android:imeOptions="actionDone" ,软键盘下方变成“完成”,点击后光标保持在原来的输入框上,并且软键盘关闭



     

    android:imeOptions="actionSend" 软键盘下方变成“发送”,点击后光标移动下一个


     
     
     
    在 这里设置的imeOptions如何使用呢?如下面的代码,让EditText实现setOnEditorActionListener,在 onEditAction方法中actionId就对应我们设置的imeOptions。系统默认的actionId 有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、 EditorInfo.IME_ACTION_DONE等。这样我们就可以根据不同的EditText来实现不同的软键盘右下角功能键。
     
    Java代码  收藏代码
    1. package com.test;  
    2.   
    3. import com.test.main.TestAsyn;  
    4.   
    5. import android.app.Activity;  
    6. import android.os.Bundle;  
    7. import android.view.KeyEvent;  
    8. import android.view.inputmethod.EditorInfo;  
    9. import android.widget.EditText;  
    10. import android.widget.TextView;  
    11. import android.widget.TextView.OnEditorActionListener;  
    12. import android.widget.Toast;  
    13.   
    14. public class IMFActivity extends Activity implements OnEditorActionListener {  
    15.       
    16.     EditText etDefault;  
    17.     EditText etEmail;  
    18.     EditText etNumber;  
    19.       
    20.      /** Called when the activity is first created. */  
    21.     @Override  
    22.     public void onCreate(Bundle savedInstanceState) {  
    23.         super.onCreate(savedInstanceState);  
    24.         setContentView(R.layout.imf_layout);  
    25.           
    26.         etDefault = (EditText)findViewById(R.id.default_content);  
    27.         etEmail = (EditText)findViewById(R.id.email_content);  
    28.         etNumber = (EditText)findViewById(R.id.number_content);  
    29.         etDefault.setOnEditorActionListener(this);  
    30.         etEmail.setOnEditorActionListener(this);  
    31.         etNumber.setOnEditorActionListener(this);  
    32.           
    33.     }  
    34.   
    35.     @Override  
    36.     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
    37.         switch(actionId){  
    38.         case EditorInfo.IME_NULL:  
    39.             System.out.println("null for default_content: " + v.getText() );  
    40.             break;  
    41.         case EditorInfo.IME_ACTION_SEND:  
    42.             System.out.println("action send for email_content: "  + v.getText());  
    43.             break;  
    44.         case EditorInfo.IME_ACTION_DONE:  
    45.             System.out.println("action done for number_content: "  + v.getText());  
    46.             break;  
    47.         }  
    48.         //Toast.makeText(this, v.getText()+"--" + actionId, Toast.LENGTH_LONG).show();  
    49.         return true;  
    50.     }  
    51. }  
     
    xml文件:
    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:layout_width="fill_parent" android:layout_height="fill_parent">  
    4.   
    5.     <TableLayout android:layout_width="fill_parent"  
    6.         android:layout_height="fill_parent">  
    7.         <TableRow>  
    8.             <TextView android:text="No special rules" android:id="@+id/TextView01"  
    9.                 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
    10.             <EditText android:text="1111111111111" android:id="@+id/default_content"  
    11.                 android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>  
    12.         </TableRow>  
    13.         <TableRow>  
    14.             <TextView android:text="Email address:" android:id="@+id/TextView01"  
    15.                 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
    16.             <EditText android:text="" android:id="@+id/email_content"  
    17.                 android:layout_width="fill_parent" android:layout_height="wrap_content"  
    18.                 android:inputType="text|textEmailAddress"  
    19.                 android:imeOptions="actionSend"></EditText>  
    20.         </TableRow>  
    21.         <TableRow>  
    22.             <TextView android:text="Signed decimal number:" android:id="@+id/TextView01"  
    23.                 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
    24.             <EditText android:text="" android:id="@+id/number_content"  
    25.                 android:layout_width="fill_parent" android:layout_height="wrap_content"  
    26.                 android:inputType="number|numberSigned|numberDecimal"  
    27.                 android:imeOptions="actionDone"></EditText>  
    28.         </TableRow>  
    29.     </TableLayout>  
    30. </ScrollView>  
     
  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/xgjblog/p/3912035.html
Copyright © 2011-2022 走看看