2014-04-10 20 views
6

to, czego szukam, to zrobić menu opcji, ale bez paska akcji. W aplikacji muzycznej Google zobaczyłem, że mają menu opcji, coś bez paska akcji. Poniżej znajduje się zdjęcie tego, o czym mówiłem w aplikacji muzycznej Google.Menu opcji Androida bez paska akcji?

Z góry dziękuję! :) googleplaymusicapp

+0

Oprócz wysokości, będzie to pasek akcji i jego przepełnienie. Możesz użyć ** 'uiautomatorviewer' **, aby lepiej określić, co to jest. – CommonsWare

+1

Wygląda mi na pasek akcji? – wyoskibum

+0

@CommonsWare byłem nieświadomy actionbar może być używany w ten sposób. Czy mógłbyś sprawdzić edytowany obraz, czy to też nie jest pasek akcji? – Tssomas

Odpowiedz

7

To tylko prosty popop. Możesz to zrobić w dowolnym widoku. Wrzuć ikonę do widoku, np. Menu kontekstowego icone i ustaw dla niego detektor kliknięcia.

Ten przykład to lista urządzeń (smartfonów) w katalogu. Wypełniam tag obiektem, dzięki czemu wiem, który z użytkowników kliknie.

public void showDeviceMenu(View v) { 
    PopupMenu popup = new PopupMenu(this, v); 
    popup.inflate(R.menu.cart_device_menu); 
    DeviceTag tag = (DeviceTag) v.getTag(); 
    final String groupId = tag.groupId; 
    final String sku = tag.sku; 
    final String productId = tag.productId; 
    SpannableStringBuilder text = new SpannableStringBuilder(tag.name); 

    text.setSpan(new StyleSpan(Typeface.BOLD), 0, text.length(), 
      Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

    popup.getMenu().findItem(R.id.menu_name).setTitle(text); 
    invalidateOptionsMenu(); 
    popup.setOnMenuItemClickListener(new OnMenuItemClickListener() { 

     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      switch (item.getItemId()) { 
       case R.id.duplicate_device: 
        duplicateDevice(sku, productId); 
        return true; 
       case R.id.update_device: 
        updateWirelessItemInCart(sku,groupId); 
        return true; 
       case R.id.delete_device: 
        removeItemFromCart(groupId); 
        return true; 
       default: 
        return false; 
      } 
     } 

    }); 
    popup.show(); 
} 
+0

Godlike odpowiedź. –