Comment créer un diaphragme personnalisé à 100%

Je souhaite avoir une boîte de dialogue Android à l'aide de Fragments entièrement personnalisés: aucune des parties du thème de la boîte de dialogue de la plate-forme n'est incluse. Par exemple, quelque chose comme ceci:

Capture d'écran

  • Open Street Maps avec Android Google Maps Api v2
  • Impossible de détecter Android dans le serveur Web
  • Connectez-vous Android Studio avec SVN
  • Afficher la même hauteur que le contenu
  • Fragments et changement d'orientation
  • Filtrage de Logcat se connecte à la ligne de commande
  • Comment puis-je faire cela?

  • 5.1 Crash - La couleur primaire d'un TaskDescription doit être opaque
  • Comment obtenir une adresse Wi-Fi Mac dans Android Marshmallow
  • Android Gradle Impossible de réserver suffisamment d'espace pour le tas d'objets
  • "Impossible de dessiner des bitmaps recyclés" lors de l'affichage de bitmaps dans la Galerie attachée à l'Adaptateur
  • Liste des autorisations de l'application Android via adb
  • "Service MeasurementBrokerService est utilisé" s'affiche dans mon processus de demande
  • 2 Solutions collect form web for “Comment créer un diaphragme personnalisé à 100%”

    Le code ci-dessous vous aidera à afficher la boîte de dialogue en plein écran et il définit également une couleur transparente

    Dialog dialog = new Dialog(this); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // layout to display dialog.setContentView(R.layout.about_program_dialog_layout); // set color transpartent dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialog.show(); 

    About_program_dialog_layout.xml

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#55000000" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="227dp" android:text="Dismiss" /> <TextView android:id="@+id/autoCompleteTextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button1" android:layout_alignParentRight="true" android:layout_marginBottom="16dp" android:layout_marginRight="63dp" android:ems="10" android:text="Hello There World" /> </RelativeLayout> 

    Le Mono suivant pour le code C # Android fait le tour (mais devrait être facile à mettre sur Java). J'ai testé sur Android 2.2 (Galaxy S) et Android 4.1 (Nexus 7). La seule chose que vous devriez changer sont les ID de mise en page utilisés pour la vue parentale et la vue de dialogue.

     [Activity (MainLauncher = true)] public class TestCustomDialogActivity : FragmentActivity { public class MyDialogFragment : Android.Support.V4.App.DialogFragment { public override Android.Views.View OnCreateView(Android.Views.LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Android 3.x+ still wants to show title: disable Dialog.Window.RequestFeature(WindowFeatures.NoTitle); // CHANGE TO YOUR DIALOG LAYOUT or VIEW CREATION CODE return inflater.Inflate(Resource.Layout.MyLayout, container, true); } public override void OnResume() { // Auto size the dialog based on it's contents Dialog.Window.SetLayout(LinearLayout.LayoutParams.WrapContent, LinearLayout.LayoutParams.WrapContent); // Make sure there is no background behind our view Dialog.Window.SetBackgroundDrawable(new ColorDrawable(Color.Transparent)); // Disable standard dialog styling/frame/theme: our custom view should create full UI SetStyle(Android.Support.V4.App.DialogFragment.StyleNoFrame, Android.Resource.Style.Theme); base.OnResume(); } } protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // CHANGE TO YOUR MAIN SCREEN SetContentView(Resource.Layout.MyDialog); var dialog = new MyDialogFragment(); dialog.Show(SupportFragmentManager, "dialog"); } } 

    J'ai téléchargé un mono complet pour l'exemple Android sur https://github.com/t9mike/CustomDialogFragmentSample .

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.