Eliminar el borde del diálogo de alerta con tema personalizado

introduzca la descripción de la imagen aquí

En mi aplicación estoy utilizando el cuadro de diálogo de alerta con el tema de rectángulo redondeado.Pero tiene el rectángulo de alarmdialog y mi tema.Mi problema es cómo reemplazar el cuadro de diálogo de alerta como diálogo.Quiero mostrar este elemento conjunto con tema propio sólo.

Quiero salir de esta manera en lugar del tema anterior:

introduzca la descripción de la imagen aquí

Actividad principal:

AlertDialog.Builder alertSeverity = new AlertDialog.Builder( getActivity(), R.style.Theme_CustomDialog); alertSeverity.setTitle("Severity Status"); CharSequence[] severityStatus = { "Low-Severity", "Middle-Severity", "High-Severity" }; alertSeverity.setItems(severityStatus, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); 

Mi tema:

 <style name="Theme.CustomDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/shapedialogtheme</item> <item name="android:windowFrame">@null</item> </style> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#565656" /> <stroke android:width="5dp" android:color="#ffff8080" /> <corners android:radius="30dp" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> <size android:width="150dp" android:height="150dp"/> </shape> 

introduzca la descripción de la imagen aquí

Utilice el cuadro de diálogo en lugar de AlertDialog.

Cree su diseño personalizado que desea mostrar en el cuadro de diálogo y en el diálogo setContent. Aplicar este tema android.R.style.Theme_Translucent_NoTitleBar en el cuadro de diálogo se oculta el borde.

Aquí está un ejemplo de código.

 Dialog dialog = new Dialog(activity.this, android.R.style.Theme_Translucent_NoTitleBar); // your layout file dialog.setContentView(R.layout.dialog); // for hide title dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //for set title dialog.setTitle("Custom Dialog"); dialog.show(); 

Actualizado:

Acabo de probar esto en AlertDialog.

 AlertDialog.Builder alertSeverity = new AlertDialog.Builder( getActivity(), android.R.style.Theme_Translucent_NoTitleBar); 

pruebe la siguiente solución:

se extienden desde el cuadro de diálogo y establecen la vista exacta para usar utilizando setContentView.

el alertDialog se utiliza para algunas funcionalidades. no es que pueda hacer lo que quieras.

tal vez en lugar de extender podría tomar el diálogo y luego usar el setContentView.

Usar diálogo en lugar de AlertDialog

 Dialog callAlert = new Dialog(LoginActivity.this,R.style.CutomDialog); callAlert.setContentView(R.layout.call); 

Style.xml

 <style name="CutomDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowAnimationStyle">@style/Animations.DialogAnimation</item> </style> 

call.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_margin="20dp" android:background="@drawable/call_bg"></RelativeLayout> 

call_bg.xml

 <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="3dp" android:color="#A20B3F" /> <corners android:bottomRightRadius="4dp" android:bottomLeftRadius="4dp" android:topLeftRadius="4dp" android:topRightRadius="4dp"/> 

Lo principal es que usted tiene que hacer backgrpund de diseño transparente de lo contrario no será capaz de obtener salida como desee.

Para ello, es necesario diseñar un diálogo personalizado:

 **dialog.xml** <?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/txt_view_SaveAs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/save_as" android:layout_margin="10dp" android:textSize="25dp" /> <EditText android:id="@+id/edit_txt_SaveAs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="300dp" android:maxLines="1" android:textSize="20dp" android:maxLength="50" android:layout_margin="10dp" android:text="@string/save_as" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_margin="10dp" android:weightSum="1.0" > <Button android:id="@+id/btn_SaveAs" android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="0.5" android:minWidth="100dp" android:textSize="20dp" android:text="@string/save" android:layout_margin="3dp" /> <Button android:id="@+id/btn_Cancel" android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="0.5" android:minWidth="100dp" android:textSize="20dp" android:text="@string/cancel" android:layout_margin="3dp" /> </LinearLayout> 

A continuación, puede crear una clase diferente para el diálogo en particular de la siguiente manera:

 public class SaveDialog extends Dialog implements android.view.View.OnClickListener { private Context context; private TextView txt_view_SaveAs; private EditText edit_txt_SaveAs; private Button btn_SaveAs; private Button btn_Cancel; public SaveDialog(Context context) { super(context); this.context = context; // TODO Auto-generated constructor stub } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); setCancelable(true); // Setting the Dialog to be Cancellable on Back Key Press txt_view_SaveAs = (TextView) findViewById(R.id.txt_view_SaveAs); edit_txt_SaveAs = (EditText) findViewById(R.id.edit_txt_SaveAs); btn_SaveAs = (Button) findViewById(R.id.btn_SaveAs); btn_SaveAs.setOnClickListener(this); btn_Cancel = (Button) findViewById(R.id.btn_Cancel); btn_Cancel.setOnClickListener(this); } @Override public void onClick(View v) { // Write code for all the buttons on click methods } } 

A continuación, puede llamar al cuadro de diálogo personalizado en su clase principal mediante el siguiente código:

 SaveDialog save_dialog = new SaveDialog(saving_activity); save_dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); save_dialog.show(); 

No se puede eliminar el borde del cuadro de diálogo de alerta.

utilizar esta

 public class ActivityIndicator extends Dialog implements android.view.View.OnClickListener{ protected static final String TAG = InfoIndicator.class.getName(); ImageView close; WebView info; public ActivityIndicator (Context context,String information) { super(context, android.R.style.Theme_Translucent_NoTitleBar); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.info); setCancelable(true); } } 

y prueba esto abajo función para mostrar, ocultar y claro diálogo

 private static ActivityIndicator activityIndicator; public static void hideActivityViewer() { if (activityIndicator != null) { activityIndicator.dismiss(); } activityIndicator = null; } public static void showActivityViewer(Context context) { if (activityIndicator == null) { activityIndicator = new ActivityIndicator(context); } activityIndicator.show(); } public static void clearDialogs() { activityIndicator = null; } 

usted puede utilizar popwindow para más estilo por sí mismo

  • Cómo llamar a constantes en java?
  • Mostrar una alerta cuando la conexión a Internet no está disponible en la aplicación android
  • AlertDialog con EditText con el correo electrónico InputType - Android
  • El título personalizado de AlertDialog tiene un borde negro
  • Android: cambia el texto del botón positivo de un AlertDialog
  • Tema de AlertDialog
  • Phonegap no muestra la alerta
  • Ejemplo de cuadro de diálogo en android
  • AlertDialog o cuadro de diálogo personalizado
  • ¿Cómo cierro AlertDialog cuando hago clic en el elemento ListView
  • Cómo mostrar el icono apropiado en el cuadro de diálogo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.