Mam pewne problemy ze znalezieniem dokumentacji definicji kształtów w XML dla Androida. Chciałbym zdefiniować prosty okrąg wypełniony jednolitym kolorem w pliku XML, aby uwzględnić go w moich plikach układu.
Niestety dokumentacja na android.com nie obejmuje atrybutów XML klas Shape. Myślę, że powinienem użyć ArcShape do narysowania okręgu, ale nie ma wyjaśnienia, jak ustawić rozmiar, kolor lub kąt potrzebny do utworzenia koła z łuku.
android
android-drawable
shapes
Janusz
źródło
źródło
android:shape
element - Zasoby do wyciągnięcia .Odpowiedzi:
Jest to prosty krąg do rysowania w Androidzie.
źródło
dp
i był on zniekształcony w owalny kształt. Dla mnie użyciept
zamiast tego naprawiło to.size
wshape
jeśli później zdefiniować kwadratowy rozmiar widoku.Ustaw to jako tło widoku
Do użycia pełnego koła:
Bryła z obrysem:
Uwaga : Aby
oval
kształt wyglądał jak okrąg, w tych przykładach albo widok, w którym używasz tego kształtu, ponieważ jego tło powinien być kwadratem, albo musisz ustawić wartośćheight
iwidth
właściwości znacznika kształtu na równą wartość.źródło
yourView.getBackground()
i ustawiając kolor ręcznie. musisz rzucić go na odpowiedni typ, taki jakShapeDrawable
. Są na ten temat powiązane pytania dotyczące SO.Kod dla prostego kręgu
źródło
Spójrz na próbki zestawu SDK systemu Android. Istnieje kilka przykładów w projekcie ApiDemos:
/ ApiDemos / res / drawable /
Będzie wyglądać mniej więcej tak dla koła z wypełnieniem gradientowym:
źródło
Możesz użyć VectorDrawable jak poniżej:
Powyższy plik XML jest renderowany jako:
źródło
<group android:translateX="-10" android:translateY="15"><path ...
źródło
<corners />
owal (który moim zdaniem nie ma narożników)?Jeśli chcesz koło takiego
Spróbuj użyć kodu poniżej:
źródło
Oto prosty plik circle_background.xml dla materiałów wstępnych:
Możesz użyć tego atrybutu
'android:background="@drawable/circle_background"
w definicji układu przyciskuźródło
źródło
res / drawble / circle_shape.xml
źródło
Możesz spróbować tego -
Możesz także dostosować promień okręgu, dostosowując
android:thickness
.źródło
Z jakiegoś powodu nie mogłem narysować okręgu wewnątrz mojego ConstraintLayout, po prostu nie mogłem użyć żadnej z powyższych odpowiedzi.
To, co zadziałało idealnie, to prosty TextView z tekstem, który pojawia się po naciśnięciu „Alt + 7”:
źródło
Możesz spróbować tego użyć
i nie musisz przejmować się proporcjami szerokości i wysokości, jeśli używasz tego do przeglądania tekstu
źródło
źródło
źródło
Po prostu użyj
źródło