EditText小问题

  1. 设置最大输入字数
    解决办法:setLength()字符个数(中文英文算一个)
         setEms() 设置宽度 不过它的标准是几个"M"的大小
  2. 让hiht显示在最上面,不是中心
    解决办法:android:gravity = "top"
  3. 输入第一个字符不能为0
    解决办法:
editView.addTextChangedListener(new TextWatcher() {  
 @Override  
 public void beforeTextChanged(CharSequence s, int start, int count, int after) {  

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

 }
   @Override   public void afterTextChanged(Editable s) {     
      if(s.length() == 1 && "0".equals(s.toString())){      
         s.clear();    
       }  
   }
});
  1. 输入值为数字
    解决办法:android:numeric = "integer"
  2. 让光标显示在文字后面
    解决办法:
Editable etext = editView.getText();
Selection.setSelection(etext,etext.length());
  1. EditView 默认情况下有光标,让其不显示光标
    解决办法:
    焦点抢夺,android 默认焦点会显示在最后一个控件上,所以可以设置一个空view抢夺焦点

  1. 自动不全,不显示问题
    解决办法:因为默认是输入两位才自动补全的
AutoCompleteTextView
textView.setThreshold(int number);
  1. 软键盘模式
    android:windowSoftInputMode:其值可以为下面属性的state和adjust的组合
    属性作用:设置Activity主窗口与软键盘的交互模式,此属性的影响为
    1.1. 当有焦点产生时,软键盘是隐藏还是显示
    1.2. 是否调整Activity主窗口大小,使其不被软件版覆盖。
    系统提供的软件版模式两种:
    1.1. 软件盘弹出,整体上移
    1.2. 直接将页面内容遮住
    想要实现部分内容被顶上去,需要使用scrollView将其包裹
    android:windowSoftInputMode="stateHidden|adjustResize"
属性
  • stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
  • stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
  • stateHidden:用户选择activity时,软键盘总是被隐藏
  • stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
  • stateVisible:软键盘通常是可见的
  • stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
  • adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
  • adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
  • adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

详情可阅读开发文档
http://android.xsoftlab.net/guide/topics/ui/controls/text.html

你可能感兴趣的:(EditText小问题)