Mam program ImageView
, w którym programowo tworzę rysunki i prezentuję je użytkownikowi. Moim celem jest kliknięcie wspomnianego ImageView
i zmiana koloru rysunku.
Jak bym zabrał się do losowej zmiany koloru? Ja obecnie majstrować Random()
, Color.argb()
i kilka innych rzeczy, ale nie wydaje się uzyskać go do pracy!
aby uzyskać losowe wartości kolorów, możesz użyć tej metody:
następnie zastosuj do swoich opinii:
źródło
Jeśli więc szukasz pięknej palety kolorów, może nie jest to dobry pomysł, aby użyć całkowicie przypadkowych wartości. Takie podejście może nie przynieść najlepszych rezultatów, zawsze kończy się wyborem podobnych kolorów, które są zbyt ciemne lub zbyt jasne.
Podejście półlosowe:
Jeśli potrzebujesz świeżych i lśniących kolorów, użyj następującej prostej klasy, którą napisałem wcześniej, gdy miałem te same problemy. Jest
semi-random
i używa predefiniowanej palety kolorów:Losowe podejście:
Ale jeśli nadal rozważasz użycie
random approach
, możesz użyć tej pojedynczej linii zamiast wielu linii kodu:Celem tego
(0xFF << 24)
jest ustawienie wartości alfa na maksimum, co oznacza zerową przezroczystość.źródło
Spotkałem to i to jest mój kod, niech trochę pomoże
źródło
źródło
To jest mój kod, którego użyłem w aplikacji, może ci pomóc.
Po dotknięciu generuje losowy kolor
źródło
źródło
Możesz użyć ColorGenerator do wybrania losowego koloru
Jeśli chcesz mieć ten sam określony kod kolorów dla powtarzających się tych samych nazw użytkowników. możesz użyć jak poniżej
źródło
źródło
Najdokładniejsze rozwiązanie tego problemu:
-Najpierw dodaj to w gradle (aplikacja),
następnie skompiluj i przebuduj aplikację.
-Drugi krok po prostu użyj go w ten sposób,
Link referencyjny:
źródło
W twoim przypadku powinieneś polubić tutaj, to dla mnie praca
źródło
źródło
W Kotlinie:
źródło
Mam nadzieję, że poniższe dwa rozwiązania mogą ci pomóc.
Istnieją dwa sposoby na programowe uzyskanie losowych kolorów
view
1. pierwsze rozwiązanie
2. drugie rozwiązanie
źródło