2014-12-13 23 views
5

Kullanıcı listeyi kaydırırken araç çubuğumun gizlenmesini veya gösterilmesini sağlamaya çalışıyorum. Bunu yapmak için çeviri kullanıyorum ancak actionBar'ım yerine boş bir alan beliriyor. Bir setVisibility (View.GONE) kullanıyorsanız, boşluk animasyonu sırasında görünür ve çirkin olduğu bitince gizlemek ..Android Araç Çubuğu boş alanı göster/gizle

Here is a short video of my issue

Ve burada ben Google I dan (benim animasyon yaparız olacak G/Ç uygulaması): burada

public void showToolbar(boolean show){ 
    if (show) { 
     toolbar.animate() 
       .translationY(0) 
       .alpha(1) 
       .setDuration(HEADER_HIDE_ANIM_DURATION) 
       .setInterpolator(new DecelerateInterpolator()); 
    } else { 
     toolbar.animate() 
       .translationY(-toolbar.getBottom()) 
       .alpha(0) 
       .setDuration(HEADER_HIDE_ANIM_DURATION) 
       .setInterpolator(new DecelerateInterpolator()); 
    } 
} 

Ve düzenidir:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/mainContent"> 

<include layout="@layout/toolbar" 
    android:id="@+id/my_toolbar" /> 

<fragment 
    android:name="com.ar.oe.fragments.SectionsFragment" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginTop="?attr/actionBarSize"/> 

</RelativeLayout> 

Ve araç çubuğu

<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/my_toolbar" 
android:layout_height="?attr/actionBarSize" 
android:layout_width="match_parent" 
android:minHeight="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 
/> 
+1

bunu düzeltmeyi başardınız mı? – chip

cevap

1

Kullanıcı, kaydırma yapmaya çalıştığında, hem araç çubuğunun hem de parçanın en üste ulaşacağı şekilde, hem araç çubuğunun hem de aşağıdaki parçanın (birlikte) kaydırmalı çevirme animasyonunu göstermeniz daha iyidir. (200ms içinde). senin anim klasöründeki slide_up.xml ekle

:

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
    android:fillAfter="false" 
    android:fromYDelta="0%" 
    android:toYDelta="-20%" 
    android:duration="200"/> 

</set> 

bazı% 20 (sadece araç çubuğu görünümü dışına gider böyle değiştirebilirsiniz) söylemek tarafından Bunu yapmak için, tüm dış Bağıl Düzeni çevirmek Sonra kaydırma olay tetiklendiğinde, aşağıdakileri yapın: Bu yardımcı olur

... 
RelativeLayout rel = (RelativeLayout)findViewById(R.id.mainContent); 
Animation slideUp = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up); 
rel.startAnimation(slideUp); 
... 

Umut ...

+0

Bu hala aynı miktarda siyah alana sahip olacak ancak BOTTOM'da! Ancak, konteynerin (parça) Araç Çubuğunun alt kısmına yapışmasını ve düzeni araç çubuğunun altına yapışmasını sağlayacak şekilde güncellemeye devam etmenin bir yolu var mı? –

+0

herhangi bir çözüm altta siyah alan nasıl kaldırılır? – Ram

3

Sen kapsayıcınızı değil araç çubuğu animasyon gerekir.

bu deneyin:

RelativeLayout mainContent = (RelativeLayout) findById(R.id.mainContent); 

public void showToolbar(boolean show){ 
if (show) { 
    mainContent.animate() 
      .translationY(0) 
      .alpha(1) 
      .setDuration(HEADER_HIDE_ANIM_DURATION) 
      .setInterpolator(new DecelerateInterpolator()); 
} else { 
    mainContent.animate() 
      .translationY(-toolbar.getBottom()) 
      .alpha(0) 
      .setDuration(HEADER_HIDE_ANIM_DURATION) 
      .setInterpolator(new DecelerateInterpolator()); 
} 
} 

Benim için çalışmak;)

Eğer araç çubuğu ile parçasını taşımak isterseniz, size fragmanı ve sadece sizin çubuğu animasyon gerekir.

+0

Çağrı, API düzeyi 12 ... – GeneralKimi

+1

gerektirir, ancak boş alan yukarıdan aşağıya doğru hareket ettirilir ve animasyonda – HendraWD

+0

herhangi bir çözümün alt tarafındaki siyah alanı nasıl kaldıracağımızı belirlersek, efektin yukarı çıkmasını ve yukarı doğru çıkmasını sağlar. ? – Ram

İlgili konular