J'ai donc un aperçu de recyclage comme celui-ci:
comme vous pouvez le voir, la largeur de l'écran n'est pas suffisante pour afficher correctement tout le texte, je dois donc ajouter un défilement horizontal pour que l'utilisateur puisse faire défiler horizontalement et verticalement en même temps, comment puis-je faire cela?
5 Réponses :
Vous pouvez utiliser ceci dans votre disposition de ligne:
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
//Your layout item here
</HorizontalScrollView>
ne fonctionne pas, l'intégralité du recyclage n'apparaîtra pas si je l'utilise.
@ArdiSugiarto Bienvenue! si c'est utile, veuillez voter pour ma réponse ou l'accepter
Utilisez HorizontalScrollView avec LinearLayout comme enfant. Définissez son orientation sur horizontal et ajoutez-y vos vues dynamiques.
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<LinearLayout
android:id="@+id/ll_main"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent">
// Add your dynamic views to this layout.
</LinearLayout>
</HorizontalScrollView>
Placez le RecyclerView vertical dans HorizontalScrollView comme ci-dessous.
<HorizontalScrollView
android:fillViewport="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/tasks_recycler_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"/>
</HorizontalScrollView>
Également l'élément racine de la vue de l'élément pour le RecyclerView doit avoir une largeur wrap_content et non match_parent , en définissant sa largeur sur wrap_content cela lui permet d'agrandir la largeur de son parent qui dans ce cas serait le RecyclerView.
Maintenant, dans la vue de l'élément, donnez wrap_content ou des largeurs fixes aux vues intérieures qui dans votre cas sont les vues pour afficher "Non", "Gagné", "Numéro d'article", "Quantité" et "UdM". En donnant des vues internes fixes ou l'option wrap_content , ils se développeront automatiquement ou en fonction de la largeur donnée, augmentant ainsi leur parent.
Essayez ceci
val linearLayoutManager = LinearLayoutManager(this)
linearLayoutManager.orientation = LinearLayoutManager.HORIZONTAL
selected_recycler_view.layoutManager = linearLayoutManager
adapter = TAdapter(this, existing.selectedArrayList)
pour une meilleure réponse, veuillez partager votre code
publier votre élément de liste xml.
la vue est créée par programme, de sorte que le xml n'a qu'une disposition linéaire comme parent.
Je pense qu'il vous suffit d'ajouter votre disposition gonflée de ligne de vue de recycleur dans la vue de défilement horizontale, puis cela fonctionne parfaitement, essayez-le ...