Articles of android edittext

如何处理Android 3.0(蜂窝)中的“粘贴”事件?

我有一个自定义的EditText,它需要做定制的“粘贴”。 我重写onTextContextMenuItem(int id)来处理通过select上下文菜单所要求的“粘贴”。 @Override public boolean onTextContextMenuItem(int id) { switch(id){ case android.R.id.paste: doMyPaste(); return true; } } 这在3.0之前的Android中起作用。 然而,在3.0中,如果长时间按下光标控件,或者轻击光标,则在光标控件附近会有一个小的“粘贴”控件。 当用户从这个小部件“粘贴”, onTextContextMenuItem(int id)将不会被调用。 因此,我不能做定制的粘贴。 有谁知道那个小“粘贴”小工具是什么? 我应该覆盖哪一种方法做我自己的“粘贴”?

Android – 防止edittext复制/粘贴和双击select所有

我正在寻找一个解决scheme来禁用长按编辑菜单(复制/粘贴),也是一个edittext框的双击全选function。 我已经以类似的方式在这里读到了一些关于这个问题的解决scheme,但是,还需要更进一步。 对于这个应用程序,我有一个要求,以防止用户在我的应用程序上使用复制/粘贴function,并需要一种方法来禁用此function,将在2.3 API以及在新的平板电脑上使用。 我正在testingNexusOne手机设备和Galaxy平板电脑。 (minSDK是8,目标是10) 目前我正在使用这个(作为例子):edittextPassword.setLongClickable(false); 禁用popup编辑菜单,太棒了! 这种方法在电话设备上工作,以防止编辑菜单popup。 在平板电脑上,这也是从长按行动禁用。 然而,平板电脑具有双击的更新function,其将select所有文本并打开编辑菜单。 有没有一种方法让旧的API取消/陷阱/禁用更新的APIfunction或防止双击手势? 更新:使用连接到GestureDetector的setLongClickable(false)和setOnTouchListener的组合(谢谢尼古拉的build议)我能够从打开时捕获/取消双击和长按编辑菜单。 下一部分要弄清楚的是在三星手机上(Galaxy S,目前还不确定其他设备),当你点击一个字段时,你会得到一个光标和一个浮动的光标指针button(专有名称? )。 点击这个指针button是打开编辑菜单的另一种方法。 任何人都知道如何禁用这个? 我唯一的解决方法是使用TextWatcher清除BeforeTextChanges和AfterTextChanges上的剪贴板。 这确保了即使您进入复制/粘贴菜单,剪贴板也被清除,并且没有任何可粘贴的东西。

EditTextselect锚缺less

我刚刚注意到,我的应用程序中的所有EditText字段都没有正确显示select锚点。 例如: 但是,我期望的是正确的锚点出现,如: 在我的应用程序中受影响的EditText典型示例: <EditText android:id="@+id/text_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/button_send" android:layout_marginLeft="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:inputType="text|textShortMessage" android:layout_marginRight="4dp" android:hint="@string/hint_chat_send" /> 另外请注意,“粘贴”hover视图在我的应用程序中有一个奇怪的白色边框,但在其他应用程序是完全透明的。 我怀疑某种主题问题,因为它会影响我的应用程序中的多个屏幕,但我无法find哪些属性可能会导致此问题的信息。 UPDATE 所以,我花了几个小时来debuggingEditText , TextView和Editor框架类没有用。 一切似乎都按预期运作。 我使用以下布局在同一个应用程序中创build了一个新的空白Activity : <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <EditText android:layout_width="300dp" android:layout_height="wrap_content" android:hint="test" /> </RelativeLayout> 在我的其他屏幕上,我正在使用AppCompat库和它的相关主题,但是在这个Activity我将主题和Activityreplace为内置Material主题的股票Android Activity : public class TestActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { setTheme(android.R.style.Theme_Material_Light_NoActionBar); […]

编辑文本中的Android可访问性与提示

创build帐户时,我有edittextinput名字,其提示是“简”(作为名字)。 我也想在这个可编辑文本的内容描述为“名字”的可访问性。 当我设置提示和内容描述警告popup“不要同时设置contentDescription和提示:contentDescription将掩盖提示”,这是好的,只是内容描述不掩盖提示。 当我打开TalkBack时,它仍然读取提示而不是内容描述。 任何人都可以帮助我。 日Thnx。

在android中显示edittext倾斜

我有一个EditText,它通常显示与屏幕X轴平行。 我想斜向显示(与水平轴成45度左右)。 有没有可能在Android中这样做。 请引导我一个方向,以便我可以尝试。 在得到pawelzeiba的答案中的两个环节之后,我进行了一些解决这个问题,但是再次卡住,所以我又提出了另一个问题。 这里是链接 。 正如Gunnar Karisson所说,在Android 3.0中引入的View类中有一个setRotation()方法,但我无法使用它,因为我的应用程序应该可以在Android 2.1版本中使用。 所以请帮我解决这个问题。

拼写build议给android.text.TextWatcher多余的值

我正在使用android.text.TextWatcher接口来侦听我的应用程序中的EditText上的更改。 我使用beforeTextChanged()和onTextChanged()来监视更改以允许撤消选项。 通常情况下,一次改变会发生一个字符,例如,如果用户键入“hello”,我会得到下面的值为beforeTextChanged()方法的开始,之后和计数值: start = 0; count = 0; after = 1; // typed 'h' start = 1; count = 0; after = 1; // typed 'e' start = 2; count = 0; after = 1; // typed 'l' start = 3; count = 0; after = 1; // typed 'l' start = 4; count […]

在Android中的EditText上强制FullScreen

我目前正在开发与三星Galaxy Tab 2作为我的设备的应用程序。 我在XML中的代码是: <EditText android:id="@+id/analysis_text" style="@style/icon_text" android:imeOptions="actionDone" android:inputType="textMultiLine" android:onClick="onBtnClicked" /> 执行此代码时,仅在某些情况下才会自动触发全屏数据input模式(提取模式)。 我希望我的用户在编辑该控件中的文本时获得完整的数据input屏幕,而不pipe控件的屏幕或位置如何。 这个问题的另一个重述:如何强制我的活动中的EditText框的全屏数据input模式,无论内容是什么?

Android – 在软键盘上捕捉“完成”和“回车”键事件

我在我的应用程序中有一个login页面,其中有列出的元素: 用户名(EditText) 密码(EditText) login(button) 按下Loginbutton,它会进入主屏幕。 用户在Samsung Galaxy S3软键盘上的密码input完成后点击Done即可执行相同的操作; 和HTC One X上的软键盘上的Enter键。 那么,密码的EditText字段是这样的: <EditText android:id="@+id/password_txt" android:layout_width="200dip" android:layout_height="wrap_content" android:imeOptions="flagNoExtractUi" android:inputType="textPassword" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="8dp" android:singleLine="true" /> 在活动中,无论我尝试在这里: EditText mPassword = (EditText) findViewById(R.id.password_txt); mPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER || actionId == EditorInfo.IME_ACTION_DONE){ Log.e("MyApp", " […]

Scrolllable EditText在ScrollView里面

我search了关于这个问题的所有post,但我仍然找不到任何解决scheme。 我有一个大的布局,它可以滚动ScrollView,它也有滚动的EditText。 如果我尝试滚动edittext,布局开始滚动。 我如何解决它? <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ScrollView android:id="@+id/lroot" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fillViewport="true" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/img6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:gravity="right" android:onClick="runInfo" android:src="@drawable/info_btn" /> <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/splash" /> <!– Scrollable EditText –> <EditText android:id="@+id/EditText01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:autoLink="all" android:background="@drawable/isim_soyisim" android:clickable="true" android:cursorVisible="true" android:gravity="left|top" android:scrollbars="vertical" android:inputType="textMultiLine" android:longClickable="false" android:maxLines="5" […]

EditText和MultiAutoCompleteTextViewbuild议

我在我的应用程序中使用MultiAutoCompleteTextView来显示各种build议。 我注意到,MultiAutoCompleteTextView不支持默认使用EditText(在软键盘上方popup的build议条)的常规android suggerstion。 有没有一种方法来显示常规的build议,我想在我的MultiAutoCompleteTextView中显示?