Existe-t-il un exemple simple de la classe PopupWindow utilisant Android v2.0?

J’ai regardé en ligne et je n’ai pas pu trouver un exemple de travail de la classe PopupWindow. Les exemples de code que j’ai trouvés en ligne comstacknt mais ne fonctionnent pas, ou utilisent des méthodes qui ont depuis été supprimées (comme Activity.getViewInflate()) .

Existe-t-il un exemple de travail simple qui affiche un PopupWindow?

    J’ai créé un exemple de travail basé sur cette publication de Google Groupes.

    Pour créer un PopupWindow simple, vous devez procéder comme suit:

    1. Créez un XML de mise en page qui décrit la vue qui sera rendue dans le PopupWindow.
    2. Appelez PopupWindow en gonflant le code XML de la mise en page et affectez la “vue parent” appropriée à la fenêtre contextuelle.

    popup_example.xml:

         

    Code Java:

      LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); PopupWindow pw = new PopupWindow( inflater.inflate(R.layout.popup_example, null, false), 100, 100, true); // The code below assumes that the root container has an id called 'main' pw.showAtLocation(this.findViewById(R.id.main), Gravity.CENTER, 0, 0); 

    AFAIK, seul l’ AbsoluteLayout fonctionne (veuillez confirmer), comme vu sur http://sree.cc/google/android/android-popup-window . J’ai montré la fenêtre contextuelle à droite, mais LinearLayout ne montrait pas tous les éléments. Mais AbsoluteLayout est obsolète!

    FrameLayout fonctionne également , mais l’organisation des vues est un cauchemar puisque la documentation officielle indique que cela ne sert qu’à conserver une seule vue.

    Pour pouvoir recevoir des événements tactiles , vous devez également le faire: setBackgroundDrawable (new BitmapDrawable ());

    comme expliqué plus loin au rejet de la fenêtre pop-up Android

    Vous obtenez l’invisibilité parce que vous n’avez pas défini la couleur d’arrière-plan de la mise en page à laquelle vous êtes gonflé.