Кликабельная кнопка (или любой вид) внутри EditText в android
Я хочу иметь кнопку или кликабельный вид в моем EditText, чтобы я мог выполнить некоторые действия при щелчке по нему. Я смог поместить drawable внутри моего EditText благодаря Marcosbeirigo на этот ответ. но теперь я хочу сделать его кликабельным, чтобы я мог выполнить некоторые действия над ним. Я знаю, что это возможно, поскольку HTC использует кнопки внутри EditText в своем приложении SMS, как показано на следующем рисунке -
в моем случае кнопка будет располагаться в любом месте, может быть в центре. Но главное, как я могу поместить кнопку в EditText?
6 ответов
Используйте RelativeLayout. Кнопки "Отправить" и "прикрепить" - это простые кнопки Android, а 32/160-TextView. Поместите кнопки и textview на объект EditText, поиграйте с компоновкой компоновки и установите правильное заполнение объекта EditText, чтобы текст внутри него не проходил под кнопками.
вам не нужно каких-либо drawable и слушать событие щелчка кнопок android больше не вопрос. Его абсолютно правильно
используйте это, это сработало для меня -
<RelativeLayout android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText android:id="@+id/id_search_EditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:paddingRight="40dp"
android:hint="Enter your feelings and connect" />
<ImageButton android:id="@+id/id_search_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/id_search_EditText"
android:layout_alignBottom="@+id/id_search_EditText"
android:layout_alignRight="@+id/id_search_EditText"
android:background="@drawable/ic_launcher"/>
</RelativeLayout>
Я думаю, вы пытаетесь найти set click event для составного drawable. Вы можете найти некоторые решения здесь
внутри editText нет кнопки, это просто editText с белым фоном, поэтому вы не видите, что это поля и простая компоновка.
единственное возможное решение-использовать RelativeLayout, которые позволяют вам также накладывать представления на другие. Другой макет не позволит вам делать такие вещи.
также я нашел этот учебник:http://developer.android.com/resources/articles/layout-tricks-merge.html возможно, это может помочь вам:)
используйте этот код может работать.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/REFReLayTellFriend"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingTop="5dp">
<EditText
android:id="@+id/txtSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/editext_rounded"
android:drawableLeft="@android:drawable/ic_menu_search"
android:gravity="start"
android:hint="Search"
android:singleLine="true"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/txtSearch"
android:background="@drawable/ic_action_content_filter_list"/>
</RelativeLayout>
</LinearLayout>