GVKun编程网logo

Android – 带有数字参数的EditText的Bug(安卓 edittext 设置数字)

19

以上就是给各位分享Android–带有数字参数的EditText的Bug,其中也会对安卓edittext设置数字进行解释,同时本文还将给你拓展androidEditTextandroid:textDi

以上就是给各位分享Android – 带有数字参数的EditText的Bug,其中也会对安卓 edittext 设置数字进行解释,同时本文还将给你拓展android EditText android:textDirection、android EditText的android:gravity="right"和android:hint="开源"两属性不能同时生效的有关问题、android edittext的坑、Android EditText的设置及使用等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Android – 带有数字参数的EditText的Bug(安卓 edittext 设置数字)

Android – 带有数字参数的EditText的Bug(安卓 edittext 设置数字)

我目前正在使用带有 android:digits参数的EditText遇到一个奇怪的错误.
这是EditText的 XML:

<EditText
  android:id="@+id/edittext"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:gravity="center_vertical"
  android:hint="@string/some_text"
  android:imeOptions="actionDone"
  android:singleLine="true"
  android:digits="abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMnopQRSTUVWXYZ\\ "
  android:maxLength="140"
  android:textSize="@dimen/font_size_small"/>

如您所见,此EditText允许用户仅键入字母数字字符.

现在,如果我尝试使用此EditText,EditText正在正确过滤我正在键入的字符
但是……如果我输入一些字符,然后直接跟着%,那么以前输入的字符将被复制到EditText中!

例如:我正在键盘上打字你好%%,EditText中的结果将是hellohellohello.

你们有没有经历过这样的错误?它来自Android平台吗?我应该报告还是已经报告过?

有关信息,我的设备是带有Android 4.3的Nexus 4.

谢谢 !

解决方法

问题出在Android键盘(AOSP)上.我正在尝试使用SwiftKey并且无法重新创建它.我更改为默认键盘,出现问题.

出现此问题是因为Android键盘正在尝试学习/建议您输入的单词.我不确定是否已报告该错误,但您可以通过使用android来避免此问题:inputType =“textNoSuggestions”

android EditText android:textDirection

android EditText android:textDirection

我想在任何时候都将EditText设置为LTR,我该怎么做?
android:textDirection似乎确实是答案,我不能让该项目使用该指令进行编译

解决方法

使用gravity为editText
android:gravity="right"

android EditText的android:gravity=

android EditText的android:gravity="right"和android:hint="开源"两属性不能同时生效的有关问题

当我用gravity="right"时 hint提示信息就没法出现。不写java代码只是在xml布局文件中要怎样设置属性才能实现文本位置靠右而又有提示信息呢。

android edittext的坑

android edittext的坑

        <EditText
            android:layout_marginLeft="5dp"
            android:id="@+id/mb3_edittext1"
            android:minWidth="62.39dp"
            android:layout_width="wrap_content"
            android:layout_height="38.39dp"
            android:background="@drawable/study5video_mb3_edit"
            android:paddingRight="4dp"
            android:paddingLeft="4dp"
            android:gravity="center"
            android:text="@string/study5mb3"
            android:textCursorDrawable="@drawable/color_cursor"
            android:textSize="22dp"
            />

  实际效果与需要的效果不一致,文字并未居中

解决办法:

binding.mb3Edittext1.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

  完美解决!

搜索

复制

<iframe></iframe>

Android EditText的设置及使用

Android EditText的设置及使用

1、输入法Enter键图标的设置:

软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字。 
我们也可以重写enter的事件


软键盘的Enter键默认显示的是“完成”文本,通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:

actionUnspecified  未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.  
actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 
actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH    
actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND   
actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT   
actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE  

 

(EditorInfo.inputType & EditorInfo.TYPE_CLASS_MASK)可以是许多不同的值,包括: 
TYPE_CLASS_NUMBER 
TYPE_CLASS_DATETIME 
TYPE_CLASS_PHONE 
TYPE_CLASS_TEXT

 

2、事件捕捉处理:

可以通过setOnEditorActionListener设置事件处理。

final EditText input = new EditText(this);   
input.setSingleLine(true); //android:singleLine=”true”     input.setImeOptions(EditorInfo.IME_ACTION_SEND);  
   input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);  
   input.setOnEditorActionListener(new TextView.OnEditorActionListener() {  
       public boolean onEditorAction(TextView v, int actionId,    
               KeyEvent event)  {    
        Log.d(TAG, ""+actionId+","+event);  
           if (actionId==EditorInfo.IME_ACTION_SEND  
                ||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)) {    
            //do something;  
            return true;  
           }    
           return false;    
       }    
   }); 

 

3、editor密码隐藏,怎么写?

有2种方法处理:

代码方法:input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);

layout配置方法:android:inputType="textPassword"

 

4、activity加载完成后,edit输入框会自动弹出输入法,可以通过以下代码屏蔽:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

5、设置EditText始终不弹出软件键盘 
例:EditText edit=(EditText)findViewById(R.id.edit); 
       edit.setInputType(InputType.TYPE_NULL);

 

6、让 EditText失去焦点,使用EditText的clearFocus方法 
例如:EditText edit=(EditText)findViewById(R.id.edit); 
           edit.clearFocus();

 

7、EditText默认不弹出软件键盘

在 AndroidMainfest.xml中选择activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden

< activity android:name=".Main"
android:label="@string/app_name"
android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:configChanges="orientation|keyboardHidden">< intent-filter>< action android:name="android.intent.action.MAIN" />< category android:name="android.intent.category.LAUNCHER" />< /intent-filter>< /activity>

 

8、设置光标到指定位置

EditText et = (EditText) findViewById(R.id.etTest);
et.setSelection(2);
//设置光标不显示,但不能设置光标颜色
et.setCursorVisible(false);

//获得焦点时全选文本
et.setSelectAllOnFocus(true);

et.requestFocus(); //请求获取焦点
et.clearFocus(); //清除焦点

使用EditText的setError提示
et.setError("邮箱"); 
  

自定义图标的setError提示
Drawable dr = getResources().getDrawable(R.drawable.ic_launcher);
dr.setBounds(0, 0, 10, 10); //必须设置大小,否则不显示
et.setError("有错误提示", dr);

et.setInputType(InputType.TYPE_CLASS_PHONE);//只能输入电话号码
et.setInputType(InputType.TYPE_CLASS_NUMBER);
//只能输入数字
et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);//只能输入邮箱地址
et.setInputType(InputType.TYPE_NULL); // 禁止输入(不弹出输入法)

XML实现案例
<EditText android:id="@+id/etTest" android:inputType="number"
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"/>

 

 

8、EditText相关属性

EditText继承关系:View-->TextView-->EditText。 
EditText的属性很多,这里介绍几个: 
android:layout_gravity="center_vertical" 
设置控件显示的位置:默认 top,这里居中显示,还有bottom 
android:hint="请输入数字!" 
设置显示在空间上的提示信息 
android:numeric="integer" 
设置只能输入整数,如果是小数则是:decimal 
android:singleLine="true" 
设置单行输入,一旦设置为true,则文字不会自动换行。 
android:password="true" 
设置只能输入密码 
android:textColor = "#ff8c00" 
字体颜色 
android:text 
字体,bold, italic, bolditalic 
android:textSize="20dip" 
大小 
android:capitalize = "characters" 
以大写字母写 
android:textAlign="center" 
EditText没有这个属性,但TextView有,居中 
android:textColorHighlight="#cccccc" 
被选中文字的底色,默认为蓝色 
android:textColorHint="#ffff00" 
设置提示信息文字的颜色,默认为灰色 
android:textScaleX="1.5" 
控制字与字之间的间距 
android:typeface="monospace" 
字型,normal, sans, serif, monospace 
android:background="@null" 
空间背景,这里没有,指透明 
android:layout_weight="1" 
权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。 
android:textAppearance="?android:attr/textAppearanceLargeInverse"

今天的关于Android – 带有数字参数的EditText的Bug安卓 edittext 设置数字的分享已经结束,谢谢您的关注,如果想了解更多关于android EditText android:textDirection、android EditText的android:gravity="right"和android:hint="开源"两属性不能同时生效的有关问题、android edittext的坑、Android EditText的设置及使用的相关知识,请在本站进行查询。

本文标签: