2017-09-26 3 views
0

J'ai un RecyclerView avec cette disposition ci-dessous. Lorsque j'utilise view.animate().translateYBy(integer), le View est traduit par l'entier spécifié.Animer une vue

Cependant, si le contenu du RecyclerView est supérieur à ce qui est affiché à l'écran, je ne peux pas faire défiler vers le bas pour voir le dernier élément. J'ai compris que la vue empiète sur les frontières.

Comment faire pour que le View limite son fond aux bordures de l'écran?

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<android.support.v7.widget.RecyclerView 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    tools:layout_constraintTop_creator="1" 
    tools:layout_constraintRight_creator="1" 
    tools:layout_constraintBottom_creator="1" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" 
    tools:layout_constraintLeft_creator="1" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

</android.support.constraint.ConstraintLayout> 
+0

Je ne suis pas familier avec ConstraintLayout mais je suppose que vous ne devriez pas traduire la vue mais changer sa hauteur en modifiant la contrainte supérieure – 0X0nosugar

+0

@ 0X0nosugar comment puis-je animer à glisser vers le bas si je change les contraintes? –

+0

Je pense qu'une transition ([ChangeBounds] (https://developer.android.com/reference/android/transition/ChangeBounds.html)) devrait fonctionner, voir par exemple ce [blog post sur les transitions] (http: // www .androiddesignpatterns.com/2014/12/activité-fragment-transitions-en-android-lollipop-partie1.html) par Alex J. Lockwood – 0X0nosugar

Répondre

0

Je ne connais pas la réponse est correcte ou non, mais ma suggestion est de mentionner la hauteur exacte et la largeur de la row_item.xml dans votre RecyclerView et ajoutez ce code vous aidera à faire défiler les pages et adapter l'interface utilisateur comme prévu.

<HorizontalScollView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 

<!-- View want to scroll --> 
</HorizontalScollView>