请不要将此问题标记为重复,因为此内容仅在一个edittext中工作,其中inputtype设置为phone,但它在其他edittext案例中不起作用,这是我正在运行的edittext
<EditText
android:layout_width="match_parent"
android:layout_marginLeft="5dp"
android:textColor="@android:color/background_dark"
android:padding="@dimen/margin_15"
android:textColorHint="@android:color/darker_gray"
android:hint="Mobile Number"
android:imeOptions="actionNext"
android:inputType="phone"
android:layout_height="wrap_content"
android:background="@null"
android:id="@+id/ed_phone"/>
和其中一个不起作用
<EditText
android:layout_width="match_parent"
android:layout_marginLeft="15dp"
android:textColor="@android:color/background_dark"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:cursorVisible="true"
android:imeOptions="actionNext"
android:layout_height="wrap_content"
android:textColorHint="@android:color/darker_gray"
android:background="@android:color/transparent"
android:id="@+id/ed_userName"/>
这是我的App主题
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">#46C203</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
现在我尝试了很多方法来处理这个默认的复制/粘贴功能,没有找到对我有用的解决方案 任何帮助都会很明显
答案 0 :(得分:1)
在编辑文字中添加以下行: -
android:textIsSelectable="true"
所以你的edittext会是这样的: -
<EditText
android:layout_width="match_parent"
android:layout_marginLeft="15dp"
android:textColor="@android:color/background_dark"
android:hint="mail"
android:inputType="textEmailAddress"
android:cursorVisible="true"
android:imeOptions="actionNext"
android:layout_height="wrap_content"
android:textColorHint="@android:color/darker_gray"
android:background="@android:color/transparent"
android:id="@+id/ed_userName"
android:textIsSelectable="true"/>
希望它可以帮到你。 :)
答案 1 :(得分:1)
终于得到了解决方案我正在使用这种方法隐藏我的键盘以触摸editext
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
View view = getCurrentFocus();
boolean ret = super.dispatchTouchEvent(event);
if (view instanceof EditText) {
View w = getCurrentFocus();
int scrcoords[] = new int[2];
w.getLocationOnScreen(scrcoords);
float x = event.getRawX() + w.getLeft() - scrcoords[0];
float y = event.getRawY() + w.getTop() - scrcoords[1];
if (event.getAction() == MotionEvent.ACTION_UP
&& (x < w.getLeft() || x >= w.getRight()
|| y < w.getTop() || y > w.getBottom()) ) {
((EditText)view).setError(null);
view.clearFocus();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindow().getCurrentFocus().getWindowToken(), 0);
}
}
return ret;
}
这里我只需要评论这一行
view.clearFocus();
现在可行了
答案 2 :(得分:0)
您尝试粘贴的文本(来自剪贴板)应该是有效的电子邮件地址,因为您将输入类型指定为电子邮件地址,否则它将无效。一切顺利:)
答案 3 :(得分:0)
您可以尝试将此属性添加到EditText:
android:textIsSelectable="true"
希望这有帮助。