Gezinme Çekmecesi (Google+ ve YouTube)


403

Günümüzün en iyi uygulamalarından bazıları gibi bir kayan menünün nasıl uygulanacağını bilen var mı?

Diğer Yığın Taşması soruları , bunun nasıl yapılacağı konusunda herhangi bir cevap vermedi, bu yüzden başkalarına yardımcı olmak için çok fazla bilgi toplamaya çalışıyorum. Aşağıda bahsettiğim tüm uygulamalar, slayt menüsünü uygulamak için harika bir iş çıkarıyor.

1. Google Plus (7/7/12 itibarıyla)

Google+ slayt menüsü ekran görüntüsü

İlk ekrandan ikinci ekrana yalnızca sol üst köşedeki G + logosuna tıklayarak gidebilirsiniz. Tüm ekranın konumundan hareket ettiğine ve ekranın sağ tarafına doğru çekildiğine dikkat edin (eylem çubuğu dahil). İlk ekrana geri dönmek için sağ tarafı tekrar odağa kaydırabilir veya G + simgesini tekrar tıklayabilirsiniz.

2. YouTube (7/7/12 itibariyle)

YouTube slayt menüsü ekran görüntüsü

İki yöntem kullanarak ilk ekrandan ikinci ekrana geçebilirsiniz. Sol üstteki YouTube logosunu tıklayın veya sağa taşımak için kaydırma hareketini kullanabilirsiniz. Bu, G + uygulamasından zaten farklı. İkinci olarak, eylem çubuğunun koyulduğunu görebilirsiniz (G + 'dan farklı olarak). Son olarak, orijinal ekranı geri almak için G + gibi çalışır.


1
Görünüşe göre, pek çok insan böyle bir şey üzerinde çalışma deneyimi yaşamamıştır. Bir şeyi kendiniz uygulamaya çalışmanızı ve karşılaşabileceğiniz belirli sorunlarla SO'ya gelmenizi öneririm.
David Titarenco

7
Evet, bu yüzden biraz daha fazla ilgiyi hak ettiğine inandığım bir SO sorusu gönderdim. Sadece bunu başarıyla başaran ve bilgeliklerini paylaşmaktan hoşlanan biri olup olmadığını merak ediyorum.
EGHDK

1
@EGHDK Bu makale dizisine göz atın: android.cyrilmottier.com/?p=658
Alex Lockwood

2
Bu soruyu bir süre önce cevapladım, ama Prixing'in orada en iyi açılır menüye sahip olduğunu tekrar vurgulamak için geri döndüm . Kesinlikle güzel, mükemmel pürüzsüz ve Facebook, Google+ ve YouTube'u utandırıyor. EverNote da oldukça iyi ... ama yine de Prixing kadar mükemmel değil. Check out mesajların bu dizi flyout menüsü nasıl uygulandığına üzerinde (Prixing kendisi baş geliştiricisi dışındaki hiçbiri gelen!).
Alex Lockwood

2
Android destek paketi revizyonu 13 (Mayıs 2013) ile, bir pencerenin kenarından çekilebilen bir Gezinme Çekmecesi oluşturmak için DrawerLayout vardır. Ve gezinme çekmecesi şimdi bir tasarım deseni. developer.android.com/tools/extras/support-library.html
Wubao Li

Yanıtlar:


152

Düzenleme 3:

Gezinme Çekmecesi deseni Android belgelerinde resmen açıklanmıştır!

resim açıklamasını buraya girin Aşağıdaki bağlantılara göz atın:

  • Tasarım belgeleri burada bulunabilir .
  • Geliştirici dokümanlar bulunabilir burada .

Düzenleme 2:

Roman Nurik (Google'da bir Android tasarım mühendisi) önerilen davranışın çekmeceyi açarken (YouTube uygulaması gibi) İşlem Çubuğunu hareket ettirmemek olduğunu doğruladı. Bu Google+ yayınına bakın .


Düzenleme # 1:

Bu soruyu bir süre önce cevapladım, ama Prixing'in orada en iyi açılır menüye sahip olduğunu tekrar vurgulamak için geri döndüm . Kesinlikle güzel, mükemmel pürüzsüz ve Facebook, Google+ ve YouTube'u utandırıyor. EverNote da oldukça iyi ... ama yine de Prixing kadar mükemmel değil. Check out mesajların bu dizi flyout menüsü nasıl uygulandığına üzerinde (Prixing kendisi baş geliştiricisi dışındaki hiçbiri gelen!).


Orijinal Yanıt:

Adam Powell ve Richard Fulcher bunun hakkında 49:47 - 52:50 , "Android'de Navigasyon" başlıklı Google I / O konuşmasında konuşuyorlar.

Yanıtlarını özetlemek gerekirse, bu gönderme tarihinden itibaren slayt gezintisi menüsü resmi olarak Android uygulama tasarım standardının bir parçası değildir . Muhtemelen keşfettiğiniz gibi, şu anda bu özellik için yerel bir destek yok, ancak bunu destek paketinin yaklaşan bir revizyonuna ekleme hakkında konuşma yapıldı.

YouTube ve G + uygulamalarıyla ilgili olarak, farklı davranmaları garip görünüyor. En iyi tahminim, YouTube uygulamasının işlem çubuğunun konumunu düzeltmesinin nedeni,

  1. YouTube uygulamasını kullanan kullanıcılar için en önemli gezinme seçeneklerinden SearchViewbiri, eylem çubuğunda gerçekleştirilen aramadır. Eylem çubuğunu bu bağlamda statik yapmak mantıklı olacaktır, çünkü kullanıcının her zaman yeni videolar arama seçeneğine sahip olmasına izin verecektir .

  2. G + uygulaması ViewPager, içeriğini görüntülemek için a kullanır ; Kaydırmanın, küresel gezinme aracı değil, sayfalar arasında gezinme aracı sağladığı varsayılır. Bu nedenle G + uygulamasında YouTube uygulamasında olduğundan farklı yapmaya karar verdiler.

    Başka bir notta, "dışarı çekme menüsü" nün başka bir sürümü için Google Play uygulamasına bakın (en soldaki sayfada sola hızlıca kaydırın ve "yarım sayfa" menüsü görünür).

Bunun çok tutarlı bir davranış olmadığı konusunda haklısınız, ancak Android ekibinde bu davranışın henüz nasıl uygulanması gerektiği konusunda% 100 fikir birliği olduğu görülmüyor. İleride uygulamalar güncellenirse, her iki uygulamadaki gezinmenin aynı olması şaşırtıcı olmazdı (konuşmadaki tüm Google yapımı uygulamalarda gezinmeyi tutarlı hale getirmek için çok istekli görünüyorlardı).


73
Prixing, Evernote ve Spotify'ın hepsinin uygulamalarını yazması oldukça büyük ekipler var Prixing'in CEO'suyum ve sadece bir gerçek Android geliştiricisine (ama çok yetenekli bir Cyril Mottier) sahip olduğumuzu kesin olarak söylemek istiyorum
EricLarch

Android destek paketi revizyonu 13 (Mayıs 2013) ile, bir pencerenin kenarından çekilebilen bir Gezinme Çekmecesi oluşturmak için DrawerLayout vardır. Ve gezinme çekmecesi şimdi bir tasarım deseni. developer.android.com/tools/extras/support-library.html
Wubao Li

NavigationDrawer, V4'te mevcut olsa da, henüz
V4'te sağlanmayan ActionBar'a

1
@NayAneshGupte, ActionBar'ı API düzey 11'in altında kullanmak için her zaman ActionBarSherlock'u kullanabilirsiniz
tasomaniac

Yakın animasyonun pürüzsüz olmasını istiyorsanız yapay bir gecikme getirmenin bir yolu yok gibi görünüyor mu?
theblang

15

Kısa bir süre önce "RibbonMenu" adlı şu anki bir Github projesini çatalladım ve ihtiyaçlarıma göre düzenledim:

https://github.com/jaredsburrows/RibbonMenu

Amaç nedir

  • Erişim Kolaylığı: İçeri ve dışarı kayan bir menüye kolay erişim sağlar
  • Uygulama Kolaylığı: Aynı ekranı en az kod kullanarak güncelleyin
  • Bağımsızlık: ActionBarSherlock gibi destek kitaplıkları gerektirmez
  • Özelleştirme: Renkleri ve menüleri değiştirmek kolaydır

Ne var ne yok

  • Kayan animasyonu Facebook ve Google+ uygulamalarıyla eşleşecek şekilde değiştirdi
  • Standart ActionBar eklendi (ActionBarSherlock kullanmayı seçebilirsiniz)
  • Menüyü açmak için menu öğesini kullandım
  • Ana Etkinlikte ListView'i güncelleme yeteneği eklendi
  • Facebook ve Google+ uygulamalarına benzeyen Menüye 2 Liste Görünümü eklendi
  • Uygulama örneklerini göstermek için bir AutoCompleteTextView ve bir Button eklendi
  • Kullanıcıların menüyü açıkken gizlemek için 'geri düğmesine' basmalarını sağlayan yöntem eklendi
  • Kullanıcıların Facebook ve Google+ uygulamalarının aksine arka planla (ana ListView) ve menüyle aynı anda etkileşime girmesine olanak tanır!

Menü çıkışı olmayan ActionBar

Menü çıkışı olmayan ActionBar

Menü çıkışı ve arama seçiliyken ActionBar

Menü çıkışı ve arama seçiliyken ActionBar


5

NavigationDrawerGoogle Materyal Tasarımı Yönergeleri'ni (ve API 10 ile uyumlu) - MaterialDrawer kütüphanesini (GitHub'a bağlantı ) izleyen harika bir uygulama var . Yazma tarihi itibariyle, Mayıs 2017, aktif olarak desteklenmektedir.

Maven Central repo'da mevcut . Sınıf bağımlılığı kurulumu:

compile 'com.mikepenz:materialdrawer:5.9.1'

Maven bağımlılığı kurulumu:

<dependency>
    <groupId>com.mikepenz</groupId>
    <artifactId>materialdrawer</artifactId>
    <version>5.9.1</version>
</dependency>

resim açıklamasını buraya girin resim açıklamasını buraya girin


@lmiguelvargasf GitHub projesinin cevaba nasıl uyduğunu nasıl görüntülüyorsunuz ?! Lütfen fikirlerinizi paylaşın.
naXa


2

Şahsen navigationDrawerGoogle Drive resmi uygulamasında beğeniyorum. Sadece çalışıyor ve harika çalışıyor. Gezinme çekmecesinin eylem çubuğunu hareket ettirmemesi gerektiğine katılıyorum çünkü gezinti çekmecesini açıp kapatmak için kilit nokta.

Hala bu davranışı elde etmeye çalışıyorsanız, yakın zamanda Aranan bir proje oluşturuyorum SherlockNavigationDrawerve beklediğiniz gibi Gezinti Çekmecesinin uygulanmasıActionBarSherlock Honeycomb öncesi cihazları ve çalışması için çalışıyor. Kontrol et:

SherlockNavigationDrawer github

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.