EmailAutoCompleteTextView

EmailAutoCompleteTextView inherits from AutoCompleteTextView and uses the unique emails associated with the device to provide auto-complete functionality for email input fields. It also provides an "x" button on the right hand side as an easy way to clear text.

EmailAutoCompleteTextView Screenshot

NOTE: since this view uses AccountManager to get the emails on the device, you must include the following in your AndroidManifest.xml:

  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>

Please view the sample application under example/ for more details.

Including EmailAutoCompleteTextView using Gradle:

Add the following to your build.gradle:

    repositories {
        mavenCentral()
    }
    dependencies {
        compile 'com.greenhalolabs:emailautocompletetextview:1.3.1'
    }

Usage:

In XML:

<com.greenhalolabs.emailautocompletetextview.EmailAutoCompleteTextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:dropDownSelector="@drawable/some_drawable"
    android:hint="@string/enter_an_email"
    android:imeActionLabel="@string/sign_up"
    app:clearButtonDrawable="@drawable/close" />

Programmatically:

EmailAutoCompleteTextView emailAutoCompleteTextView = new EmailAutoCompleteTextView(context);
emailAutoCompleteTextView.setHint(R.string.enter_an_email);
emailAutoCompleteTextView.setClearButtonEnabled(true); // defaults to true
emailAutoCompleteTextView.setClearButtonResId(R.drawable.close);

Styling:

Since EmailAutoCompleteTextView inherits from AutoCompleteTextView, styling is similar to styling an AutoCompleteTextView. The drop down item layout used is android.R.layout.simple_dropdown_item_1line, to provide a custom styling for this, add the following to your application theme:

<item name="android:dropDownItemStyle">@style/CustomStyle</item>