ventana tipos studio personalizado emergente ejemplo edittext dialogos dialogo custom cuadro crear con como android xml dialog title

tipos - Android: ¿cómo crear un cuadro de diálogo con un título de desplazamiento?



tipos de dialogos en android studio (3)

Ok, he leído la explicación del diálogo personalizado en el sitio web de And Dev http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog

¡Muestra cómo hacer un diálogo personalizado, pero no cómo personalizar el título!

Básicamente mi título es demasiado largo y quiero que se desplace (como la vista de texto) o mejor aún tenga un efecto de "marquesina", creo que se llama.

¡O si no puedo hacer que se desplace, déle más espacio para envolverlo en más líneas!

Alguna idea, no tengo mucha esperanza ya que no está en android.dev :-(


Los títulos de la ventana Customizig (y por lo tanto también del diálogo) se pueden realizar solicitando la función de ventana CUSTOM_TITLE, que debe hacerse antes de setContentView.

Por lo tanto, en las subclases de diálogo / actividad onCreate (), llame a lo siguiente:

super.onCreate(savedInstance); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // <- insert this

Luego, después de su setContentView, haga esto:

setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); // <- insert this

El diseño generalmente puede contener lo que quieras. Para un control de texto de marquesina. por ejemplo, haz esto:

layout / custom_title.xml:

<FrameLayout android:id="@+id/FrameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:id="@+id/caption_text" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="This is a very very long text that will not fit into a caption regularly, so it will be displayed using marquee..." android:lines="1" android:focusable="true" android:focusableInTouchMode="true" android:scrollHorizontally="true" android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee" ></TextView> </FrameLayout>

Debido a algunas limitaciones con la función de marquesina, la vista de texto debe hacerse enfocable y solo se desplazará cuando esté enfocada (lo que inicialmente debería ser).


Puede hacer el título del cuadro de diálogo multilínea:

TextView title = (TextView) dialog.findViewById(android.R.id.title); title.setSingleLine(false);


Considero que la mejor práctica es una combinación de RuslanK (para obtener TextView) Thorstenvv (para hacer que TextView sea desplazable) respuesta.