Jaką jednostkę miary używa Paint.setStrokeWidth() i czy muszę skalować tę wartość w oparciu o bieżące nasycenie ekranu?Jaką jednostkę miary używa Paint.setStrokeWidth()?
Jest to wartość zmiennoprzecinkowa, więc wiem, że nie jest to liczba pikseli. Musi być względne do czegoś.
To jest cała dokumentacja mówi, jak to pisze:
Ustaw szerokość do głaskania. Przekaż 0, aby wykonać ruch w trybie włosowatym. Linie proste zawsze rysują pojedynczy piksel niezależnie od matrycy Canva.
Hi Romain, próbowałem przykład PathEffect z ApiDemos a szerokość udar jest ustawiony na 6 tam. Kiedy mierzę szerokość na ekranie telefonu komórkowego hdpi, to 9px. Wygląda na to, że początkowa wartość szerokości obrysu jest mnożona przez gęstość. Czy powinienem podać wartość podzieloną przez gęstość, aby uzyskać rzeczywistą szerokość? – Zzokk
Nie wierzę, że odpowiedź Romaina jest poprawna. Na moim obecnym urządzeniu testowym (HTC One X, o gęstości 2,0) stwierdziłem, że '.setStrokeWidth()' musi być wywołane z żądaną szerokością skoku podzieloną przez 1,5. Następnie szerokość jest dokładnie taka jaka powinna być. W przeciwnym razie jest zbyt szeroki. Współczynnik 1,5 zgadza się dokładnie z tym, co Zzokk znalazł (6px vs 9px), z wyjątkiem tego, że pytanie dotyczy gęstości, ponieważ One X wynosi 2.0, a nie 1.5. Tak więc pochodzenie tego czynnika 1.5 zastanawia mnie w tej chwili. – Trevor
Cholera !! Przyszedłem tutaj, aby rozwiązać tę wątpliwość. Widziałem, jak @Rainain Guy odpowiadał i myślałem "Mamy odpowiedź na pewno", ale w komentarzach nie wydaje się to takie łatwe. W każdym razie próbowałem sobie z tym poradzić, jak gdyby tam, gdzie piksele takie jak konwertowanie z dp na piksele ... i wygląda na to, że działają dla różnych rozmiarów ekranu ... – Sotti