He encontrado un montón de tutoriales sobre cómo hacer un custom ProgressDialog sin texto. ¿Cuál es la manera más fácil de crear una personalizada ProgressDialog con una imagen y un mensaje. Algo como esto…

Android Personalizado ProgressDialog con Mensaje

InformationsquelleAutor James Fazio | 2012-08-24

1 Comentario

  1. 21

    La creación de un cuadro de Diálogo Personalizado

    Si quieres un diseño personalizado para un cuadro de diálogo, usted puede crear su propio diseño de la ventana de diálogo con el diseño y el control de los elementos. Después de que usted haya definido su diseño, pasar a la raíz del objeto de la Vista o el diseño de ID de recurso a setContentView(Ver).

    Por ejemplo, para crear el cuadro de diálogo que se muestra a la derecha:

    Crear un XML de diseño guarda como custom_dialog.xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:id="@+id/layout_root"
                  android:orientation="horizontal"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
                  android:padding="10dp"
                  >
        <ImageView android:id="@+id/image"
                   android:layout_width="wrap_content"
                   android:layout_height="fill_parent"
                   android:layout_marginRight="10dp"
                   />
        <TextView android:id="@+id/text"
                  android:layout_width="wrap_content"
                  android:layout_height="fill_parent"
                  android:textColor="#FFF"
                  />
    </LinearLayout>

    Este XML define un ImageView y un TextView dentro de un LinearLayout.
    Establecer el diseño anterior como del cuadro de diálogo vista del contenido y definir el contenido para el ImageView y TextView elementos:

    Context mContext = getApplicationContext();
    Dialog dialog = new Dialog(mContext);
    
    dialog.setContentView(R.layout.custom_dialog);
    dialog.setTitle("Custom Dialog");
    
    TextView text = (TextView) dialog.findViewById(R.id.text);
    text.setText("Hello, this is a custom dialog!");
    ImageView image = (ImageView) dialog.findViewById(R.id.image);
    image.setImageResource(R.drawable.android);

    Después de crear instancias de Diálogo, personalizar el diseño del cuadro de diálogo vista del contenido con setContentView(int), pasando por el diseño de IDENTIFICADOR de recurso. Ahora que el Diálogo se ha definido el diseño, usted puede capturar objetos de la Vista de la disposición con findViewById(int) y modificar su contenido.
    Eso es todo. Ahora puedes mostrar el cuadro de diálogo como se describe en la que Muestra Un cuadro de Diálogo.
    Un cuadro de diálogo hecha con la base de la clase de Diálogo debe tener un título. Si usted no llama a setTitle(), entonces el espacio utilizado por el título permanece vacío, pero aún visible. Si usted no desea un título en absoluto, entonces usted debe crear su cuadro de diálogo personalizado utilizando la clase AlertDialog. Sin embargo, debido a un AlertDialog se crea más fácil con la AlertDialog.Constructor de la clase, que no tienen acceso a la setContentView(int) método utilizado anteriormente. En su lugar, debe utilizar setView(Ver). Este método acepta un objeto de la Vista, por lo que necesita para inflar el layout de la raíz de Vista del objeto de XML.

    Para inflar el layout XML, recuperar la LayoutInflater con getLayoutInflater() (o getSystemService ()) y, a continuación, llamar a inflar(int, ViewGroup), donde el primer parámetro es el diseño de IDENTIFICADOR de recurso y el segundo es la IDENTIFICACIÓN de la raíz de la Vista. En este punto, usted puede utilizar el inflado de diseño para encontrar objetos de la Vista en el diseño y definir el contenido para el ImageView y TextView elementos. A continuación, crear una instancia de la AlertDialog.El generador y establecer el inflado de diseño para el diálogo con setView(Ver).

    He aquí un ejemplo, crear un diseño personalizado en un AlertDialog:

    AlertDialog.Builder builder;
    AlertDialog alertDialog;
    
    Context mContext = getApplicationContext();
    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = inflater.inflate(R.layout.custom_dialog,
                                   (ViewGroup) findViewById(R.id.layout_root));
    
    TextView text = (TextView) layout.findViewById(R.id.text);
    text.setText("Hello, this is a custom dialog!");
    ImageView image = (ImageView) layout.findViewById(R.id.image);
    image.setImageResource(R.drawable.android);
    
    builder = new AlertDialog.Builder(mContext);
    builder.setView(layout);
    alertDialog = builder.create();

    El uso de un AlertDialog para su diseño personalizado le permite tomar ventaja de la construcción en AlertDialog características como administrado botones, listas seleccionables, un título, un icono y así sucesivamente.

    Para obtener más información, consulte la documentación de referencia para el Diálogo y AlertDialog.El generador de clases.

    • Gracias por googlear para mí, voy a ir a sentarse en la esquina de un par de minutos para que el castigo.

Dejar respuesta

Please enter your comment!
Please enter your name here