cevap

46

İşlem taşması menüsü sadece aygıtta sabit menü düğmesi olmadığında kullanılabilir. Kullanıcı Arayüzü> Eylem Çubuğu altında Çerçeve Konularında belirtilenleri buldum, 3. mermi here'a bakın.

ActionBarSherlock adlı Jake Wharton tarafından yazılmış bir eylem çubuğu kitaplığı var. Belki de bu, eski cihazlarda (sert bir menü düğmesi de dahil) olsa bile, bir taşma menü stili sunabilir, ancak buna bakmadım.

Düzenleme: ActionBarSherlock 4.0 (şu anda bir sürüm adayı) eylem taşmasını zorlamak için yerleşik olarak geliştirilmiş bir işleve sahiptir. ActionBarCompat örneğini kendiniz genişletmek istiyorsanız, Jake'in bunu nasıl uyguladığı hakkında bir fikir edinmek için github'a bir göz atabilirsiniz. Çok iyi yapıldığı için kütüphanesini hep birlikte kullanmayı önerebilirim.

Eğer Jake'in kütüphanesini kullanmayı tercih ederseniz, eski cihazlarda taşma menüsünü zorlamak için @ style/Theme.Sherlock.ForceOverflow gibi Aktivite temasını ayarlamaya bakın.

Edit2: ForceOverflow konuyu kullanarak donanım menü düğmesi ile cihazlarda sorunlar (example #1) neden olur. Böylece, Jake Wharton gelecek sürümlerde ForceOverflow kaldırmak için gidiyor.

+2

Soruyu çok dikkatli okumadınız.Onlar geriye dönük ve uygun uyumluluğu elde etmek için resmi bir android aksiyon çubuğu kütüphanesi kullanıyor.Onun Android 4.0'ın altındaki taşma seçeneğini zorlamak istiyor, eski menüsünü ICS'de çalışan bir menüye dönüştürmek istemiyor. –

+6

@EricNovins, ABS kütüphanesi ne aradığını sunuyor. Eğer kütüphaneyi kullanmamayı seçerse, ActionBarCompat'ı kendi yolunda genişletmesi için bir yön sunar. – esilac

+1

Kütüphaneyi tamamen terk etmeyi asla önermem. Tek bir fonksiyon için bir tonlama. Kaliteli bir yanıt değil IMO –

12

Tamam, bu basit ama anlaması zor.

Önce taşma infilakörü olarak kullanmak istediğiniz bir menü öğesine ihtiyacınız vardır. Örnek

Öğenizi aldıktan sonra, taşma menüsünde istediğiniz öğelerinizi içeren bir alt menü ekleyin. Örnek:

<item 
    android:id="@+id/a_More" 
    android:icon="@drawable/more" 
    android:showAsAction="always" 
    android:title="More"> 
    <menu> 
     <item 
      android:id="@+id/aM_Home" 
      android:icon="@drawable/home" 
      android:title="Home"/> 
    </menu> 
</item> 

Bu tıklatmayla, içindeki diğer öğeleri şişirebilirsiniz. Uygulamam ActionBarSherlock 4.0 kullanıyor, bu yüzden sizin için çalışacağından önce "SplitActionBar" a erişmeniz gerekecek. , Sen taşma menüsüne ihtiyaç etkinlik altındaki bu kodu eklemek gerekir AndroidManifest.xml dosyasında Dürüst varsa bu fark etmemeli: nasıl

İşte (hala varsayılan android İşlem Çubuğu çalışacak mı). eylem çubuğu bölünmüş ya da değil ama tercih ederim.

android:uiOptions="splitActionBarWhenNarrow" 

NOT: Kişisel öğe taşma menü ZORUNLU showAsAction="always"

Vwola şişirir! bir taşma menünüz var! Umarım yardım ettim.

Bu "menüsünden kodudur: :)

+0

bu işe yaramıyor. Dikey taşma menü simgesini gösteremedim (3 dikey kutu şu anlama geliyor: "taşma menüsünü görmek için beni tıkla"). Uygulamam için hala donanım menüsü düğmesi – frankish

+0

Great'e giriyorlar, örneğiniz mükemmel çalışıyor! – harrakiss

+0

Parlak! Eski stilde kullanılan insanlar için buna sahip olmak güzel. Sürekli değişen teknolojiye uyum sağlayabilen genç nesil için bir sorun değil, ama yaşlılar bu şeyleri anlamaya zorlanıyor. Onlara bir donanım düğmesi varsa, bir GUI düğmesi görmeyeceklerini - bu yüzden onu uygulamak daha kolay olduğunu açıklamak zor. –

6

LeviRockerSk8er önerisi sonrasında böyle eylem çubuğunda bir taşma menüsüne sahip olmak zorunda ettik.xml ":

<item 
    android:id="@+id/web_clasica" 
    android:icon="@drawable/ic_action_web_site" 
    android:showAsAction="ifRoom" 
    android:title="@string/menu_web" 
    /> 
<item 
    android:id="@+id/overflow_fijo" 
    android:icon="@drawable/ic_action_core_overflow" 
    android:showAsAction="always" 
    android:title="@string/menu_email" 
    > 
    <menu> 
    <item 
    android:id="@+id/email" 
    android:icon="@drawable/ic_action_new_email" 
    android:showAsAction="ifRoom" 
    android:title="@string/menu_email" 
    /> 
    <item 
    android:id="@+id/share" 
    android:icon="@drawable/ic_action_share" 
    android:showAsAction="ifRoom" 
    android:title="@string/menu_share" 
    /> 
    <item 
    android:id="@+id/about" 
    android:showAsAction="ifRoom" 
    android:icon="@drawable/ic_action_action_about" 
    android:title="@string/menu_about"/> 
</menu> 

+0

, ancak android'de 'splitActionBarWhenNarrow' ifadesini eklediğimde işe yarar: etkinlikteki uiOptions her zaman alttaki çubuğu görüntüler. – iuq

+1

skd 10 üzerinde ve taşma değerinin altında bir açılır menü olarak değil, merkezde bir liste olarak gösterilir. Bunun dışında bu metot çalışır. – DominicM

+0

Menü öğesini İKİNCİ öğe olarak görmeniz gerekir. Yalnızca tek başına sahipseniz, donanım anahtarından çağrılan eski bir menü olarak görüntülenir. – Yar

İlgili konular