Cómo incrustar una vista (con botones, etc) dentro de un EditText?
Estoy tratando de averiguar cómo incrustar cosas, que no sean Drawables, dentro de un widget EditText. En concreto, el ejemplo en el que pienso es del widget Google Buzz:
Screenshot (no hay imagen en línea, lo siento, soy un newb)
- Android - Tabs, MapView, actividades dentro de las pestañas
- Manejo simultáneo de eventos onClick y onTouchEvent
- Vista de lista de fondo de pie de página en Android 2.3.3
- Crear una burbuja de chat en Android
- Evitar el desencadenamiento de onUpdate de WidgetProvider
Al observador casual le parece que hay un objeto de diseño completo fijado en la parte inferior del EditText, que contiene un ImageView, un TextView y un Button.
Alguien tiene alguna idea de cómo sacar esto? ¿O creemos que esto es una subclase personalizada de EditText?
- ¿Cómo configurar AutoCompleteTextView desplegable fondo transparente en Android?
- ¿Cómo comprobar el tipo de un widget de vista?
- Fuentes personalizadas en Android
- Cómo agregar diseños al diálogo
- Android WebView Scrollable
- Compatibilidad con barras de acción
- Android: Evita que el campo de texto aparezca al ingresar texto en un SearchView
- Drop-menu en ListView para Android
El botón EditText + + … es un FrameLayout con el EditText con fill_parent y los Buttons con layout_gravitiy: "bottom". Algo como esto:
<?xml version="1.0" encoding="utf-8"?> <!-- Main Layout (may be relative or whatever --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- Layout for edittext and button --> <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:lines="5"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_margin="5dip" android:text="Overflow"/> </FrameLayout> <!-- More layouts ..... --> </RelativeLayout>
Usted puede utilizar la disposición del marco para embed el botón en EditText, aquí yo dan el código de la muestra para incorporar TextView en EditText, apenas cambie el TextView como botón
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="40px" android:layout_y="35px" > <EditText android:id="@+id/twt_post_content" android:layout_gravity="center_vertical" android:layout_width="320dp" android:layout_height="140dp" android:paddingTop="5dp" android:imeOptions="actionDone" android:gravity="left" android:focusableInTouchMode="true" android:maxLength="140" android:ellipsize="end" /> <TextView android:text="123" android:paddingLeft="270dp" android:paddingTop="100dp" android:layout_alignParentRight="true" android:id="@+id/twt_content_count" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/red" android:layout_gravity="center" android:background="@color/transparent"/> </FrameLayout>
Creo que lo que han hecho aquí es crear un fondo para su diseño que se parece a un EditText. Entonces agregaron un EditText con el fondo apagado y vienen los botones.