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
RecyclerviewAvez-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 /
ArrayListpour contenir l'hexCode de la couleur et utiliser la boucle pour créer les vues OU utiliserRecyclerViewhorizontal@NileshRathod Je pense que ça sonne bien.