Articles of android edittext

键入EditText后,如何使键盘消失

从android教程: pass_text.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { // If the event is a key-down event on the "enter" button if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { // Perform action on key press return true; } return false; } }); } 点击EditText时,它的框架上会出现一个键盘。 我想知道回车后。 除了单击“返回”外,如何从框架中取出键盘。 谢谢

如果用户按下空格,如何从edittext立即删除空格?

我有一个edittext,还有一个看着SPACE是否到达的textwatcher。 如果它是一个空格,我想立即删除它。 或者,如果它的空间我想确保它不出现,但以某种方式表示(seterror,吐司)为用户的空间是不允许的。 edittext.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { //—// } public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) {} }); 我无法在afterTextChaned方法中定义onkeydown,因为它给了我一个错误。 public boolean onKeyDown(int keyCode, KeyEvent event) { super.onKeyDown(keyCode, event); if (keyCode == KeyEvent.KEYCODE_SPACE) { } } 所以它不工作(语法错误,错误的int keyCode […]

Android:仅在显示键盘时在edittext中显示光标

如何在显示键盘时只显示EditText的光标。 目前光标闪烁,即使EditText不活跃,键盘被隐藏,这真的很烦人。 这是我的布局看起来如何: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main_root" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" > <ImageButton android:id="@+id/activity_main_add_button" android:layout_width="40dp" android:layout_height="40dp" android:background="@drawable/button" android:contentDescription="@string/desc_add" android:onClick="addGame" android:src="@android:drawable/ic_input_add" android:tint="@color/gray" /> <View android:id="@+id/stub1" android:layout_width="2dp" android:layout_height="40dp" android:layout_toRightOf="@id/activity_main_add_button" android:background="@color/light_gray" /> <ImageButton android:id="@+id/activity_main_menu_button" android:layout_width="40dp" android:layout_height="40dp" android:layout_toRightOf="@id/stub1" android:background="@drawable/button" android:contentDescription="@string/desc_add" android:onClick="showMenu" android:scaleType="fitXY" android:src="@drawable/square_button" android:tint="@color/gray" /> <View android:id="@+id/stub2" android:layout_width="2dp" android:layout_height="40dp" android:layout_toRightOf="@id/menu_button" android:background="@color/light_gray" /> <EditText android:id="@+id/activity_main_search" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_toRightOf="@id/stub2" android:background="@drawable/default_background" […]

以编程方式在后台具有GL视图的软键盘上的EditText

我正在做一个游戏,我想在软键盘上方popup一个EditText位置。 这是我的代码在我的主要活动中构buildView Hierarchy时的样子: getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); viewGroup = new RelativeLayout(this); viewGroup.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); view = new GameView(this); RelativeLayout.LayoutParams vLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); vLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); view.setLayoutParams(vLayoutParams); viewGroup.addView(view); editText = new GameEditText(this); RelativeLayout.LayoutParams etLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); etLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); editText.setGravity(Gravity.BOTTOM); editText.setLayoutParams(etLayoutParams); viewGroup.addView(editText); setContentView(viewGroup); 这里是我的AndroidManifest.xml(这个部分的问题): <activity android:name="app.ember.MainActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden|screenSize" android:screenOrientation="sensorLandscape" android:windowSoftInputMode="adjustResize" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category […]

在Android中使EditText和Button的高度相同

我在我的LinearLayout中有一个EditText和一个button,我想将它们紧密地alignment在一起,使它们看起来似乎属于一起(edittext + micButton用于语音input)。 现在他们没有相同的高度,他们不是很好地alignment(button似乎比EditText略低)。 我知道我可以像-5dip一样使用负边距来使它们靠得更近,但是有没有更好的方法来做到这一点? 将它们设置在特定的容器/布局中,以使它们自动具有相同的高度,并且它们之间没有空白?

EditText提示消失与重力

我曾经看到过很多类似的问题,但我认为这还包括一些新的内容: 1)设置重力时,提示文字消失 2) android:ellipsize="start"修复,所以你可以有中心提示和居中文本 3)为什么下面的代码仍然显示中心提示文本? <EditText android:id="@+id/details" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:hint="use this area to provide specific identification information including approximate size, vessel name and registration numbers if available" android:background="@android:drawable/editbox_background" android:layout_below="@id/details_title" /> 是因为fill_parent而不是wrap_content? 我想也许是因为这个提示是多行的,但我缩短了它,它仍然出现,并被集中。 这是唯一的区别,我需要android:ellipsize="start"才能正确显示我的其他EditTexts。 这只是一个错误?

Android:animation编辑文本的问题?

我试图在用户开始编辑时对edittext进行animation处理。 我已经尝试了下面的代码, EditText txtPassword = (EditText) findViewById(R.id.editText1); Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.anim); anim.setInterpolator((new AccelerateDecelerateInterpolator())); anim.setFillAfter(true); txtPassword.startAnimation(anim); anim.xml ““““ <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="0" android:toYDelta="-50%p" android:duration="100"/> </set> animation工作正常。 但edittext停止animation后的用户交互。 如果用户触摸屏幕的编辑文本的前一个位置,则出现键盘。 但实际处于新位置的编辑文本应该回应。 我要做什么? 我希望有人可以用正确的英文格式编辑我的问题。

Android:TextInputLayout不会居中提示

我在支持库的textinputlayout中包含了一个edittext,我发现不可能让提示出现在字段的中心。 我已经尝试了所有常用的技巧,在代码示例中可以看到其他的stackoverflow讨论,但是提示仍然固执地出现在edittext的左边。 我该如何解决这个问题? 请不要build议使用paddingLeft或paddingStart来做到这一点 – 我希望在不同的设备上干净地工作,所以它必须是一个直接的解决scheme,而不是一个解决方法。 只是要清楚:如果我删除textinputlayout然后提示正确居中。 这是在这里导致问题的textinputlayout。 <android.support.design.widget.TextInputLayout android:id="@+id/someId" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_marginStart="30dp" android:layout_marginRight="30dp" android:layout_marginEnd="30dp" android:layout_marginTop="10dp" android:gravity="center" android:ellipsize="start" android:maxLines="1" android:inputType="textPersonName" > <EditText android:id="@+id/someId" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:hint="@string/somehint" android:textColorHint="@color/somecolor" android:textSize="20sp" android:textColor="@android:color/black" android:background="@android:color/white" android:cursorVisible="true" android:textCursorDrawable="@null" android:paddingTop="10dp" android:paddingBottom="10dp" android:inputType="textPersonName" android:maxLines="1" android:ellipsize="start" /> </android.support.design.widget.TextInputLayout> 使用最新版本的支持库: compile 'com.android.support:design:22.2.1' 编辑 – 我试图解决这个问题: 1)用android.support.v7.widget.AppCompatEditTextreplaceEdittext – 不起作用 2)在textinputlayout中使用app:hintTextAppearance =“@ style / TextAppearance.AppCompat” […]

如何将全局自定义样式应用于android.support.design.widget.TextInputEditText?

我有我的AppTheme定义在style.xml ,我所有的应用程序的TextView , EditText , Button等全局应用自定义样式。 现在我想为android.support.design.widget.TextInputEditText做同样的事情,但是如何? 它不扩展EditText以便忽略样式。 这是我得到的: <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary</item> <item name="colorAccent">@color/accent</item> <!– Globally override default widget styles with custom –> <item name="android:textViewStyle">@style/App.TextView</item> <item name="android:editTextStyle">@style/App.EditText</item> <item name="android:buttonStyle">@style/App.Button.Primary</item> </style> <style name="App.TextView" parent="@android:style/Widget.TextView"> <item name="android:textColor">@color/text</item> <item name="android:fontFamily">sans-serif-light</item> <item name="android:textSize">@dimen/textsize_normal</item> </style> <style name="App.EditText" parent="@android:style/Widget.EditText"> <item name="android:textColor">#f00</item> <item name="android:fontFamily">sans-serif-light</item> […]

有没有办法来检测在EditText中点击的单词

有没有办法将字符映射到EditText中的像素位置? 我假设在任何像素位置的单词的组成部分都有一些知识,因为您可以select一个单词来进行复制和粘贴操作。 此外,大多数stream行的浏览器和书籍阅读器都有一些查找function,您可以select一个词并在网上或字典中查找。 这些应用程序如何知道被点击或select的单词? 除了重写EditText和在onDraw()方法中呈现所有input的文本之外,我无法想到完成这个任务的好策略。 我相信肯定有比这更好的策略! 有任何想法吗?