2017-01-05 1 views
-1

Je suis novice android et travailler sur un scrollview, j'ai une mise en page de bas de page et que vous voulez le cacher tout en faisant défiler la scrollview, je l'ai essayé onscrollStatechange j'ai mis ce point de vue de Visibilty allé, Mais son ne fonctionne pas.Peut-être anybuddy m'aider à faire cela?Comment cacher une mise en page lorsqu'un scrollview défile dans Android

<ScrollView 
     android:id="@+id/scr_product" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/rl_botm"> 
. 
. 
. 
.</ScrollView> 
<RelativeLayout 
     android:id="@+id/rl_botm" 
     android:layout_width="match_parent" 
     android:layout_height="55dp" 
     android:layout_alignParentBottom="true" 
     android:background="@color/blue_extra_light" 
     android:padding="5dp"> 

     <View 
      android:id="@+id/sep" 
      android:layout_width="match_parent" 
      android:layout_height="0.75dp" 
      android:background="@color/dark_grey" /> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/sep" 
      android:layout_marginTop="5dp"> 

      <ImageView 
       android:id="@+id/iv_share" 
       android:layout_width="30dp" 
       android:layout_height="35dp" 
       android:layout_marginLeft="30dp" 
       android:background="@drawable/ic_sare" /> 

      <View 
       android:id="@+id/s1" 
       android:layout_width="0.75dp" 
       android:layout_height="20dp" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="15dp" 
       android:layout_marginRight="15dp" 
       android:layout_toRightOf="@+id/iv_share" 
       android:background="@color/grey_dark" /> 

      <ImageView 
       android:id="@+id/iv_heart" 
       android:layout_width="35dp" 
       android:layout_height="35dp" 
       android:layout_toRightOf="@+id/s1" 
       android:background="@drawable/ic_hrt" /> 

      <View 
       android:id="@+id/s2" 
       android:layout_width="0.75dp" 
       android:layout_height="20dp" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="15dp" 
       android:layout_marginRight="15dp" 
       android:layout_toRightOf="@+id/iv_heart" 
       android:background="@color/grey_dark" /> 

      <ImageView 
       android:id="@+id/iv_report" 
       android:layout_width="35dp" 
       android:layout_height="35dp" 
       android:layout_toRightOf="@+id/s2" 
       android:background="@drawable/ic_flag" /> 

      <Button 
       android:id="@+id/btn_rate_reviews" 
       android:layout_width="150dp" 
       android:layout_height="50dp" 
       android:layout_alignParentRight="true" 
       android:background="@drawable/btn_green_selector" 
       android:padding="5dp" 
       android:text="@string/rate_reviews" 
       android:textColor="@color/white" 
       android:textSize="16dp" 
       android:textStyle="bold" /> 
     </RelativeLayout> 

    </RelativeLayout> 

java

public class ProductDescriptionActivity extends Activity implements AbsListView.OnScrollListener { 
. 
. 
. 
. 
@Override 
    public void onScrollStateChanged(AbsListView view, int scrollState) { 
     rl_botm.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 
     rl_botm.setVisibility(View.GONE); 
    } 

S'il vous plaît aidez-moi à le figure.

+1

dans '' onScrollStateChanged' vérifier si scrollState! = SCROLL_STATE_IDLE' définir la visibilité à parti, mis à autre visible –

+0

je remets en question défilera une fois terminé, le même doit être visible? –

Répondre

0

Essayez ceci,

scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { 
    @Override 
    public void onScrollChanged() { 
     if (scrollView != null) { 
      if (scrollView.getChildAt(0).getBottom() <= (scrollView.getHeight() + scrollView.getScrollY())) { 
       relativeLayout.setVisibility(View.VISIBLE); 
      } 
      else { 
       relativeLayout.setVisibility(View.INVISIBLE); 
      } 
     } 
    } 
}); 
+0

Seulement, Rend mon point de vue invisible, Pouvez-vous s'il vous plaît m'aider? –

+0

Santosh -Merci mais cela fonctionne pas correctement, Quand nous d'abord la visibilité est parti, Quand je finis par faire défiler jusqu'à la dernière page, alors que la mise en page est visible, quand je suis défiler vers le haut de la page, il disparu ... Je veux est quand je arrêter de défiler, il devrait être visible et quand je suis en train de défiler devrait être parti. –