..


Σύνδεσμοι διαφημιζόμενων

Μενού: Η ContextMenu

Σε προηγούμενα κεφάλαια έχουμε αναλύσει λεπτομερώς τα IconMenu μενού του τύπου που είναι γενικά η πλέον χρησιμοποιούμενη. Ένας άλλος πόρος που μας προσφέρει το Android είναι το ContextMenu που μπορούν να εξεταστούν από κοινού με τη δομή και λειτουργία, το μενού που εμφανίζεται όταν κάνετε κλικ στο δεξί πλήκτρο του ποντικιού σε οποιοδήποτε εικονίδιο των Windows.

Το γεγονός ContextMenu δεν εμφανίζεται στο χρήστη μετά από ένα πάτημα ενός κουμπιού στη συσκευή (όπως ήταν για IconMenu), αλλά συνδέεται με ένα συγκεκριμένο γραφικό στοιχείο εμφανίζεται στο χρήστη, και μετά από μια παρατεταμένη κάντε δεξί κλικ στο αυτό το μαραφέτι.

Προφανώς, στο πλαίσιο μιας δραστηριότητας, μπορείτε να δημιουργήσετε ContextMenu και στη συνέχεια να τις συνδέσετε με διάφορα widgets, ή να δημιουργήσετε ένα μόνο ContextMenu συνδέεται με πολλαπλές διαφορετικές widgets.

Είμαστε τώρα πρόκειται να εμφανιστεί ο κωδικός για τη δημιουργία δύο διαφορετικών και στη συνέχεια να συσχετίσετε ένα ContextMenu με ένα κουμπί και ένα άλλο σε μια TextView (πριν εισάγετε τον κωδικό που πρέπει να εισάγει το android.view.ContextMenu πακέτου .*):






 δημόσια onCreate κενό (Bundle savedInstanceState) {



  



 super.onCreate (savedInstanceState)?

  

  



 LinearLayout mioLayout LinearLayout = νέα (αυτή)?

 

  

  



 Κουμπιού = Button νέα (αυτή)?

 

  



 bottone.setId (1)?



  



 button1.setText ("που συνδέονται με ένα κουμπί μενού")?

 

        

  



 TextView τηλεόραση = νέα TextView (αυτή)?



  



 tv.setText ("Δώστε ένα κλικ για παρατεταμένη ContextMenu")?



  



 tv.setId (2)?



  

  



 mioLayout.addView (κουμπί)?



  



 mioLayout.addView (TV)?



  



 setContentView (layout)?



  

  



 registerForContextMenu (κουμπί)?

 

  



 registerForContextMenu (TV)?







 }









 δημόσια onCreateContextMenu κενό (ContextMenu ContextMenu, προβολή Προβολή, ContextMenuInfo menuInfo) {



  



 αν (view.getId () == 1) {



    



 menu.setHeaderTitle ("το κουμπί ContextMenu")?



    



 menu.add (Menu.NONE, 1, 1, "κουμπί Voice 1")?



    



 menu.add (Menu.NONE, 2, 2, "κουμπί Voice 2")?



  



 }



  



 else if (view.getId () == 2) {



    



 menu.setHeaderTitle ("ContextMenu του TextView")?



    



 menu.add (Menu.NONE, 3, 1, "Θέση 1 TextView")?



    



 menu.add (Menu.NONE, 4, 2, "Θέση 2 TextView")?



  



 }







 }



Αναλύουμε το προτεινόμενο κώδικα. Όσον αφορά το περιεχόμενο της μεθόδου onCreate το μόνο γραμμές κώδικα δει ποτέ είναι εκείνα που αφορούν την επίκληση της μεθόδου που συνδυάζει registerForContextMenu, μεταβιβάζεται ως παράμετρος για το widget, κάθε ContextMenu.

Από μεγαλύτερο ενδιαφέρον είναι ότι η μέθοδος onCreateContextMenu αντί της μοίρας, περιέχει τον κώδικα για τις ContextMenu που θέλουμε να δημιουργήσουμε. Στην περίπτωση αυτή, για να δημιουργήσετε ένα διαφορετικό μενού για τα δύο widgets, χρησιμοποιήσαμε το getId μέθοδο () της την άποψη ότι η επίκληση της onCreateContextMenu μεθόδου (καθορισμός του id των δύο widgets γίνεται με τη μέθοδο onCreate setId ()).

Αν πάμε μέσα για να προσθέσει τα στοιχεία του μενού που θέλουμε με τη συνήθη μέθοδο που χρησιμοποιεί το κέλυφος και να προσθέσετε τη μέθοδο για να ορίσετε ένα ContextMenu setHeaderTitle τίτλο.

Για να συσχετίσετε μια συγκεκριμένη συμπεριφορά σε πίεση ενός από τα κουμπιά στο μενού εργάζεστε με τον ίδιο τρόπο διαπιστώθηκε στο προηγούμενο κεφάλαιο, όμως, για OptionMenu εισέρχονται στο επιθυμητό κωδικό στο πλαίσιο της μεθόδου onContextItemSelected (MENUITEM στοιχείο).

Βοήθεια για την ανάπτυξη εφαρμογών για το Android
E-Learning
OpenOffice (ebook) OpenOffice (ebook)
Το λογισμικό ανοιχτού κώδικα για τη διαχείριση των εργασιών γραφείου. Μόλις 25 €.
Photoshop (Μάθημα) Photoshop (Μάθημα)
Web γραφικών και επεξεργασίας φωτογραφιών με το δημοφιλές πρόγραμμα Adobe Photoshop. Από 49 €.
Ruby και Ruby on Rails (Μάθημα) Ruby και Ruby on Rails (Μάθημα)
Δημιουργία λογισμικού και Web εφαρμογές με Ρουμπίνι και RoR. Από 39 €.
Σύνδεσμοι διαφημιζόμενων