Je souhaite implémenter la conception ci-dessous. Mais après avoir regardé cela, je pense qu'il y aura beaucoup de vues
qui doivent être créées à l'intérieur d'un LinearLayout
vertical qui est beaucoup de copier-coller. Quelqu'un peut-il me dire une meilleure façon de créer ce type de design?
3 Réponses :
Vous pouvez créer un RecyclerView
et lancer un adaptateur
avec des couleurs pour l'afficher. Utilisez LinearLayoutManager.HORIZONTAL
pour faire défiler horizontalement.
Utilisez un RecyclerView et ajoutez un LinearLayout avec l'orientation horizontale
mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
J'espère que cela fonctionnera pour vous.
Créez comme onCreate ()
la méthode de votre activité indiquée ci-dessous.
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); HorizontalScrollView scrollView = new HorizontalScrollView(this); int[] colorArray = {Color.RED, Color.GRAY, Color.BLACK, Color.parseColor("#ff00ff"), Color.RED, Color.GRAY, Color.BLACK, Color.parseColor("#ff00ff"), Color.RED, Color.GRAY, Color.BLACK, Color.parseColor("#ff00ff"), Color.RED, Color.GRAY, Color.BLACK, Color.parseColor("#ff00ff"), Color.RED, Color.GRAY, Color.BLACK, Color.parseColor("#ff00ff")}; LinearLayout linearLayout = new LinearLayout(this); setContentView(scrollView); linearLayout.setOrientation(LinearLayout.HORIZONTAL); scrollView.addView(linearLayout); scrollView.setFillViewport(true); for (int i = 0; i < colorArray.length; i++) { TextView textView = new TextView(this); textView.setBackgroundColor(colorArray[i]); textView.setLayoutParams(new LinearLayout.LayoutParams(140, 200)); linearLayout.addView(textView); } }
prenez un tableau de votre code couleur au format hexadécimal.
que diriez-vous d'utiliser un
Recyclerview
Avez-vous essayé cette bibliothèque, android-arsenal.com/details/1/1882 Il peut vous aider
Si vous souhaitez créer ceci uniquement par vous-même, vous pouvez le créer par programme dans votre fichier .java / .kt, vous pouvez utiliser array /
ArrayList
pour contenir l'hexCode de la couleur et utiliser la boucle pour créer les vues OU utiliserRecyclerView
horizontal@NileshRathod Je pense que ça sonne bien.