Cómo agregar diseños al diálogo

Tengo una idea en mente, pero no estoy seguro de cómo implementarlo

primero tengo un diálogo

final Dialog dialog = new Dialog(mContext); 

También tengo un diseño

 <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textViewTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textViewDescription" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="Small Text" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textViewWhen" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="Medium Text" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> 

lo que quiero es añadir este diseño en el diálogo, también puede querer añadir más de la misma disposición de derecho debajo de ella en el interior de ese diálogo ¿cómo puedo hacer eso?

por ejemplo, ¿cómo puedo añadir dos de este diseño en un diálogo? algo como


  Dialog Title Large Text Small Text Medium Text Large Text Small Text Medium Text 

Algo como esto:

 LayoutInflater li = LayoutInflater.from(SomeActivity.this); someLayout = (LinearLayout)li.inflate(R.layout.some_layout, null); alert = new AlertDialog.Builder(SettingsActivity.this); alert.setView(someLayout); 

Puede consultar esta página de documentación que explica cómo agregar un diseño personalizado en el diálogo

http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog

La clave es el método setContentView :

 dialog.setContentView(R.layout.custom_dialog); 

Este es un ejemplo de mi aplicación:

 public class ConfirmDialog extends DialogFragment { public static String TAG = "Confirm Dialog"; public interface ConfirmDialogCompliant { public void doOkConfirmClick(); public void doCancelConfirmClick(); } private ConfirmDialogCompliant caller; private String message; public ConfirmDialog(ConfirmDialogCompliant caller, String message){ super(); this.caller = caller; this.message = message; } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.confirm_dialog, container, false); getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE); ((TextView) view.findViewById(R.id.textview_confirm)).setText(message); ((Button) view.findViewById(R.id.ok_confirm_button)).setOnClickListener(new OnClickListener() { public void onClick(View v) { // When button is clicked, call up to owning activity. caller.doOkConfirmClick(); } }); ((Button) view.findViewById(R.id.cancel_confirm_button)).setOnClickListener(new OnClickListener() { public void onClick(View v) { // When button is clicked, call up to owning activity. caller.doCancelConfirmClick(); } }); return view; } } 

donde el diseño inflado es confirm_dialog.xml.
Inflará su diseño en el método onCreateView.
En este caso utilicé DialogFragment (que sugiero que utilice … vea la biblioteca de soporte para que no tenga que preocuparse por su SDK de destino), pero lo mismo se aplica a Dialog.
Espero que te ayude!

Echa un vistazo a este:

cómo obtener el diálogo de alerta personalizada, como el que se muestra en la imagen?

Refiera la respuesta que le he dado (Aamir Shah)

Utilice un DialogFragment , que le permite, al igual que cualquier otro Fragment , personalizar completamente el diseño. Está disponible en la biblioteca de soporte v4.

http://developer.android.com/reference/android/app/DialogFragment.html

http://developer.android.com/tools/extras/support-library.html

  • Widget Pendiente Intent no funcionará después de que la aplicación sea Force Stopped / Killed
  • ¿Cómo usted fija el color de texto del hilandero?
  • Cómo configurar el enfoque de un widget de botón mediante programación?
  • OnHover para ver
  • ¿Mantener el punto culminante del elemento seleccionado en el fragmento?
  • SetAlpha para el problema de RemoteViews
  • ¿Cómo usar un textView para la cuenta atrás a cero?
  • TextView marquee
  • Cambiar el color predeterminado de la marca de verificación de CheckBox de Android
  • ¿Es posible personalizar los botones positivos y negativos en AlertDialog?
  • Cambiar el estilo de ListPreference
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.