0
votes

comment faire une liste horizontale de la palette de couleurs dans Android

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?

 entrez la description de l'image ici


4 commentaires

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 utiliser RecyclerView horizontal


@NileshRathod Je pense que ça sonne bien.


3 Réponses :


0
votes

Vous pouvez créer un RecyclerView et lancer un adaptateur avec des couleurs pour l'afficher. Utilisez LinearLayoutManager.HORIZONTAL pour faire défiler horizontalement.


0 commentaires

0
votes

Utilisez un RecyclerView et ajoutez un LinearLayout avec l'orientation horizontale

mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));


0 commentaires

1
votes

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.


0 commentaires