2016-09-19 3 views
1

Update: Я попытался установить android:cursorVisible="false" на EditText, и он сделал белый ящик уйти, но также мигающий курсор & зеленый круг уходить, но я хочу, чтобы те к оставаться видимым.Android EditText странно плавающей белая коробка под курсором


Под этим курсором находится эта странная белая коробка. Всякий раз, когда я нажимаю на поле, появляется большой зеленый круг (под курсором, мигающий предмет) вместе с этим белым ящиком под ним. Через несколько секунд исчезают и большой зеленый круг, и белый ящик. Как мне избавиться от этой белой коробки? Я не думаю, что у меня есть что-то в стилях. Xml меняет вещи, кроме основных цветов и акцентов?

enter image description here


<EditText 
        android:id="@+id/altPhone" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/alt_phone_hint" 
        android:singleLine="true" 
        android:inputType="phone" 
        android:nextFocusDown="@+id/email"/> 

mAltPhoneField.setText(person.getPhoneAlternate()); 

InputFilter[] phoneFilterArray = new InputFilter[2]; 
phoneFilterArray[0] = TextUtilities.getPhoneFilter(); 
phoneFilterArray[1] = new InputFilter.LengthFilter(14); 
mAltPhoneField.setFilters(phoneFilterArray); 

mAltPhoneField.addTextChangedListener(new PhoneNumberFormattingTextWatcher() { 
      @Override 
      public void afterTextChanged(Editable s) { 
       super.afterTextChanged(s); 
       mObj.getPerson().modifyPhoneAlternate(s.toString()); 
      } 
     }); 

mAltPhoneField.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
       if (!hasFocus) { 
        hasValidAltPhone(); 
       } 
      } 
     }); 

private boolean hasValidAltPhone() { 
    return hasValidPhoneNumber(mAltPhoneField); 
} 

private boolean hasValidPhoneNumber(EditText field) { 
     boolean isValidPhone = true; 
     if (!TextUtils.isEmpty(field.getText())) { 
      isValidPhone = TextUtilities.isValidPhoneNumber(field.getText().toString()); 
      if (!isValidPhone) { 
       field.setError(getString(R.string.invalid_phone_error)); 
      } 
     } 
     return isValidPhone; 
    } 
+1

Его селектор позиции я считаю, пожалуйста, проверьте http://stackoverflow.com/questions/11170409/how-to-disable-cursor-positioning-and-text-selection-in-an-edittext-android – surya

+0

Я попытался установить 'android: cursorVisible =" false "' на EditText, и это заставило белую коробку уйти, но также заставил мигающий курсор и зеленый круг уйти, но я хочу, чтобы они оставались видимыми. –

+1

Может быть, вам нужно настроить свои пользовательские ресурсы для edittext – surya

ответ

2

В моей styles.xml, я просто должен был удалить атрибут XML для android:popupBackground, то белая коробка ушла.

<resources> 
    <style name="Theme.MyApp.Base" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="android:popupBackground">@android:drawable/dialog_holo_light_frame</item> 
    </style> 
</resources> 
Смежные вопросы