Как сделать TextView похожим на EditText?

Как сделать весь текст Text подчеркиванием по ширине родительского соответствия, например EditText?

Эта строка кода только подчеркивает текст, а не весь TextView.

textView.setPaintFlags(textView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);

Причина, по которой я хочу использовать TextView, заключается в том, что setOnClickListener запускается немедленно одним нажатием для TextView, тогда как для отключенного редактируемого EditText требуются два ответвления.

Ответ 1

Вы можете поместить фон EditText в свой TextView. Например:

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Your text"
            android:hint="My hint"
            android:textColor="?attr/editTextColor"
            android:background="?attr/editTextBackground"
            android:gravity="center_vertical"
            android:textAppearance="?android:attr/textAppearanceMediumInverse"
            />

Возможно, вы захотите изменить внешний вид текста на android:textAppearance="@style/TextAppearance.AppCompat.Button", если используете тему AppCompat.

Ответ 2

Вы можете достичь этого, не записывая много строк атрибутов xml:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Your text"
        android:hint="Your hint"
        style="@android:style/Widget.EditText"
        />