it-swarm-tr.com

Android Facebook tarzı slayt

Yeni Facebook uygulaması ve navigasyonu çok iyi. Sadece başvurumda nasıl öykünebileceğini görmeye çalışıyordum.

Herkes nasıl başarılabileceğine dair bir ipucu var mı?

enter image description here

Sol üst düğmeye tıkladığınızda sayfa açılır ve aşağıdaki ekran gösterilir:

enter image description here

YouTube Videos

281
Harsha M V

Kendimle bir oyun oynadım ve bulabildiğim en iyi yol, FrameLayout kullanmak ve menünün üstüne özel bir HorizontalScrollView (HSV) yerleştirmekti. HSV'nin içinde uygulamanızın Görüntüleme Sayısı, ancak ilk çocuk olarak şeffaf bir Görünüm var. Bunun anlamı, HSV sıfır kaydırma ofsetine sahip olduğunda, menüde gösterilecek (ve yine de şaşırtıcı bir şekilde tıklanabilir).

Uygulama başladığında, HSV'yi ilk görünen uygulama Görünümü'nün ofsetine kaydırırız ve menüyü göstermek istediğimizde, menüyü şeffaf Görünüm aracılığıyla ortaya çıkarmak için geri kaydırırız.

Kod burada ve Başlat etkinliğindeki en alttaki iki düğme (HorzScrollWithListMenu ve HorzScrollWithImageMenu olarak adlandırılır) bulabildiğim en iyi menüleri gösterir:

Android sürgülü menü demos

Emülatörden ekran görüntüsü (orta kaydırma):

Screenshot from emulator (mid-scroll)

Cihazdan ekran görüntüsü (tam kaydırma). Benim ikonumun Facebook menü ikonu kadar geniş olmadığına dikkat edin, bu yüzden menü görünümü ve 'uygulama' görünümü aynı hizada değil.

Screenshot from device (full-scroll)

176
Paul Grime

Facebook'taki bir slayt gösterimi navigasyonunu bu kütüphane projesi içinde uyguladım.

Uygulamanıza, kullanıcı arayüzünüze ve navigasyonunuza kolayca ekleyebilirsiniz. Yalnızca bir Etkinlik ve bir Parça uygulamanız gerekecek, kütüphaneye bunun hakkında bilgi veriniz - ve kitaplık tüm istenen animasyonları ve gezinmeyi sağlayacaktır.

Depo içerisinde, facebook benzeri bir gezinme uygulaması için lib'in nasıl kullanılacağı ile demo projesini bulabilirsiniz. İşte demo projesinin kaydı olan kısa bir video .

Ayrıca bu lib, bu ActionBar şablonuyla uyumlu olmalıdır, çünkü Etkinlikler işlemlerine ve TranslateAnimations (Fragments işlemlerine ve özel Görünümlere değil) dayanır.

Şu anda, en büyük sorun, hem dikey hem de manzara modunu destekleyen uygulama için iyi çalışmasını sağlamak. Herhangi bir geri bildiriminiz varsa, lütfen github ile sağlayın.

Herşey gönlünce olsun,
Alex

37
AlexKorovyansky

İşte başka bir lib ve bence en iyisi gibi görünüyor. Ben yazmadım ..

GÜNCELLEME:

Bu kod benim için en iyi şekilde görünüyor ve tüm Actionbar'ı G + uygulamasına benzer şekilde hareket ettiriyor.

Google bunu nasıl başardı? Android uygulamasında ActionBar kaydırın

24
Patrick

Facebook uygulamasının yerel kodda yazılmadığını düşünüyorum (yerel kodla demek istiyorum, Android'deki düzenleri kullanarak) ancak web görünümünü kullandılar ve sencha gibi bazı javascript ui kütüphaneleri kullandılar. Sencha çerçevesi kullanılarak kolayca elde edilebilir.

enter image description here

22
Sanjay Kumar

İşte bir tane daha (çok güzel) açık kaynaklı bir kütüphane!

Bu konuda iyi bir özellik kolayca ActionBarSherlock ile entegre olmasıdır.

İşte github proje bağlantısı

İşte Google Play indirme bağlantısı

20
dwbrito

Sadece kendi projem için benzer görüşü uyguladım. Kontrol edebilirsiniz burada

İşte yazdığım kütüphaneye dayanan örnek uygulama ekranı: ActionsContentView Example

Bu özel görünümü XML düzeninin bir öğesi olarak kullanmak kolaydır. İşte örnek:

    <shared.ui.actionscontentview.ActionsContentView
      Android:id="@+id/content"
      Android:layout_width="match_parent"
      Android:layout_height="match_parent"
      app:actions_layout="@layout/actions"
      app:content_layout="@layout/content" />

ActionsContentView kütüphanesinin kullanımı hakkında herhangi bir sorunuz olacak, Wiki projelerinde küçük bir makale yazabilirim.

Bu kütüphanenin bazı avantajları:

  • dokunarak görünümü kaydırma yeteneği
  • xML'de eylem çubuğunun boyutunu ayarlamak kolaydır
  • tüm Android 2.0 ve üzeri sürümlerden başlayan SDK sürümleri desteği

Bir sınırlama var:

  • tüm yatay kaydırma görünümleri bu görünümün sınırlarında çalışmaz

Saygılarımla, Steven

17
rude

Android destek paketi revizyonu 13 (Mayıs 2013) ile, bir pencerenin Kenarından çekilebilecek bir Navigasyon Çekmecesi oluşturmak için DrawerLayout vardır. Ve navigasyon çekmecesi artık bir tasarım deseni.

v4 destek kütüphanesi

navigasyon çekmecesi tasarım deseni

16
Wubao Li

Bir var application 'nin bir özetini yaptım ve bir kütüphane projesine artı örnek uygulamaya dönüştürdüm. Ayrıca, olası bir eylem çubuğunun otomatik olarak algılanmasının yanı sıra XML ayrıştırma özelliği de eklendi, bu nedenle yerel ve ActionBarSherlock gibi bir destek eylem çubuğu ile birlikte çalışır.

Bu da eylem çubuğunu uzağa kaydırıyor!

Her şey, örnek bir uygulamayla birlikte bir kütüphane projesi ve 'da [google ve facebook uygulamaları gibi Android için kayan bir menüde açıklanmaktadır. İlk fikir ve kod için scirocco !

SlideMenu on GingerbreadSlideMenu on ICS with ActionBar

15
bk138

Bu basit ve zarif: https://github.com/akotoe/Android-slide-out-menu.git

Enstantane fotoğraf:

enter image description here

10
Edward

Bence bu kütüphane bahsetmedi:

jfeinstein1 / SlidingMen

_github url:_ https://github.com/jfeinstein10/SlidingMenu

  • eylem çubuğuyla ActionBarSherlock ile uyumludur geriye dönük uyumluluk !
  • Destek sağ slayt ve sadece düğmeyle değil!
10
madlymad

@Paul Grime tarafından verilen cevap hakkında henüz yorum yapamam, yine de github projesinde titreme sorununun düzeltilmesi için sundum ....

Düzeltmeyi buraya postalayacağım, belki birisinin ihtiyacı var. Sadece iki kod satırı eklemeniz gerekir. Anim.setAnimationListener çağrısının altındaki ilk:

anim.setFillAfter(true);

Ve app.layout () çağrısından sonraki ikincisi:

app.clearAnimation();

Bu yardımcı olur umarım :)

8
Fatal1ty2787

Bunu AbsoluteLayout ve görünümü gizlemek için negatif bir kaymaya götüren basit bir slayt denetleyicisi ile uyguladım.

Herhangi biri ilgileniyorsa, kodu/düzeni ve postayı temizleyebilirim. AbsoluteLayout'un kullanımdan kaldırıldığını biliyorum, ancak çok basit bir uygulama oldu. Soldan Görünüm/Sağdan Görünüm ve "açık kaydırma" sırasında, soldan görünümünüzü bir -X uzaklıktan aygıtın genişliğine kadar kaydırın - Sağ Görüntüyü göstermek istediğiniz ne olursa olsun

6
Rich

Merhaba bu facebook slayt menüsü gibi sağlayan en iyi örnek demo uygulaması. Kodu kontrol et burada

enter image description here

enter image description here

4
Mukesh Y

Geçenlerde kayar menü uygulama sürümüm üzerinde çalıştım. Popüler J.Feinstein Android kütüphanesini kullanır SlidingMenu.

Lütfen kaynak kodunu GitHub'da kontrol edin:

https://github.com/baruckis/Android-SlidingMenuImplementation

Denemek için uygulamayı doğrudan cihaza indirin:

https://play.google.com/store/apps/details?id=com.baruckis.SlidingMenuImplementation

Kod, yorumlar nedeniyle açıklayıcı olmalıdır. Umarım yardımcı olacaktır! ;)

3
Andrius Baruckis

Bunun ve çalışmasının en basit yolunu buldum. Basit Gezinme çekmecesini kullanın ve drawer.setdrawerListner () öğesini çağırın ve aşağıdaki drawerSlide yönteminde mainView.setX () yöntemini kullanın veya kodumu kopyalayın.

xml dosyası

 <Android.support.v4.widget.DrawerLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/drawer_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#000000" >

<RelativeLayout
    Android:id="@+id/content_frame"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:background="#ffffff">

  <ImageView
      Android:layout_width="40dp"
      Android:layout_height="40dp"
      Android:id="@+id/menu"
      Android:layout_alignParentTop="true"
      Android:layout_alignParentLeft="true"
      Android:layout_marginTop="10dp"
      Android:layout_marginLeft="10dp"
      Android:src="@drawable/black_line"
      />
</RelativeLayout>


<RelativeLayout
    Android:id="@+id/left_drawer"
    Android:layout_width="200dp"
    Android:background="#181D21"
    Android:layout_height="match_parent"
    Android:layout_gravity="start"
    >
    </RelativeLayout>
 </Android.support.v4.widget.DrawerLayout>

Java dosyası

   public class MainActivity extends AppCompatActivity {
DrawerLayout drawerLayout;
RelativeLayout mainView;
ImageView menu;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    menu=(ImageView)findViewById(R.id.menu);
    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mainView=(RelativeLayout)findViewById(R.id.content_frame);

    menu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            drawerLayout.openDrawer(Gravity.LEFT);
        }
    });

    drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            mainView.setX(slideOffset * 300);
        }

        @Override
        public void onDrawerOpened(View drawerView) {

        }

        @Override
        public void onDrawerClosed(View drawerView) {

        }

        @Override
        public void onDrawerStateChanged(int newState) {

        }
    });
 }
}

enter image description here

Teşekkür ederim

3
Dalvinder Singh

Android Ortak Kitaplığımın (ACL) bir parçası olarak kendi SideBar'ı uyguladım. Ana avantajlar:

  1. Kenar çubuğu herhangi bir konuma ayarlanabilir: sol, üst, alt, sağ
  2. Hem ana görünüm hem de kayan görünüm tıklanabilir
  3. Yan çubuk kısmen gösterilebilir
  4. SideBar için düzenlenebilir nitelikler stilini değiştirmeyi kolaylaştırır
  5. Maven deposundaki yapı
  6. Büyük bir kütüphanenin parçası

Kaynak kodu: https://github.com/serso/Android-common/tree/master/views/src/main/Java/org/solovyev/Android/view/sidebar

Kullanımı: https://github.com/serso/Android-common/blob/master/samples/res/layout/acl_view_layout.xml

3
se.solovyev

Resmi olmayan dış kitaplık eklemek gerekmez resmi Android belgelerinde bulunan tasarım ve geliştirme kılavuzu. Sadece Android destek kütüphanesi işe yarar. Bağlantıları burada bulun.

tasarım ve geliştir .

2
jai_b

Burada cesurca tahminlerde bulunacağım ...

Görünmeyen menüyü temsil eden bir düzeni olduğunu varsayıyorum. Menü düğmesine basıldığında, yoldan çıkmak için üstteki düzen/görüntüye animasyon uygular ve menü düzeninin görünürlüğünü etkinleştirir. Bunun, görüşlerde herhangi bir z-endeksi sorununa neden olduğunu ya da bunu nasıl kontrol ettiklerini düşünmedim.

2
jlindenbaum

Facebook Android uygulaması muhtemelen Fragments ile derlenmiştir. Menü bir Fragman, derinlemesine Faaliyet (Newsfeed/Events/Friends etc) diğer Fragman. Temelde bir telefonda bir tablet 'usta ve detay' düzeni.

1
Gunnar Karlsson

Bilgi için, uyumluluk kitaplığı 1.6 ile başladığından ve bu facebook uygulaması da Android 1.5 olan cihazlarda çalışıyorsa, Fragments ile yapılamadı.

Bunu yapabilmenizin yolu şudur: "List" etkinligi BaseMenuActivity, menü listenizdeki onItemClickListener için tüm mantığı koyduğunuzda ve 2 animasyonu ("açık" ve "kapat") tanımlayan. Animasyonların sonunda/sonunda, BaseMenuActivity'nin düzenini gösterir/gizlersiniz (bunu menu_layout olarak adlandıralım). Bu etkinlik için düzen basittir, yalnızca listenin sağındaki öğeler + saydam bir bölümden oluşan bir listedir. Bu kısım tıklanabilir olacak ve genişliği "taşıma düğmeniz" ile aynı genişlikte olacaktır. Bununla, content_layout'un sola kaymasına ve tüm ekranı almasına izin vermek için animasyonu başlatmak için bu düzene tıklayabilirsiniz. Her seçenek için (örneğin, menü listesinin öğesi), BaseMenuActivity'yi genişleten bir "ContentActivity" oluşturursunuz. Ardından listedeki bir öğeye tıkladığınızda, ItemSelectedContentActivity'nizi menü görünür olarak (etkinliğiniz başlar başlamaz kapanır) başlatırsınız. Her ContentActivity için düzenler FrameLayout'tur ve ve. Yalnızca content_layout'u taşımanız ve istediğiniz zaman menu_layout'u görünür hale getirmeniz yeterlidir.

Bunu yapmanın bir yolu ve umarım yeterince açıkımdır.

1
p4u144

Yukarıdaki cevaplarda hiçbir yerde bahsettiğim şaşırtıcı SimonVT/Android-menudrawer'ı görmedim. Yani burada bir link

https://github.com/SimonVT/Android-menudrawer

Kullanımı süper kolay ve sol, sağ, üst veya alt koyabilirsiniz. Çok iyi örnek kod ve Apache 2.0 lisansı ile belgelenmiştir.

1
lwegener

Android navigasyon çekmecesini ekledi. Buna bakın

bağlantı

1
Deepak Goel

Son birkaç gündür bununla oynuyorum ve sonunda oldukça basit ve Petek öncesi işe yarayan bir çözüm buldum. Benim çözümüm, kaydırmak istediğim Görünümü canlandırmak (benim için FrameLayout) ve animasyonun sonunu dinlemek (bu noktada Görünümün sol/sağ konumunu dengelemek) oldu. Çözümümü buraya yapıştırdım: Bir Görünümün çevirisini nasıl canlandırırsınız

1
Adil Hussain

Birkaç saat aradıktan sonra Paul Grime'nin çözümünün muhtemelen en iyisi olduğunu gördüm. Ancak içinde çok fazla işlev var. Bu yüzden yeni başlayanlar için çalışmak zor olabilir. Bu yüzden Paul'ün fikrinden gelen bir uygulamamı sunmak istiyorum ancak daha basit ve okunması kolay olmalı.

XML olmadan Java kodunu kullanarak yan menü çubuğunun uygulanması

1
Chao

Haziran 2012'de Google, Eclipse ADT eklentisine "şablonlar" ekledi ve tam olarak bunu yapan (ana sayfalara dayanan) "ana/ayrıntı akışı" adlı bir şablon var.

0
rds