Muszę utworzyć kształt androida, tak aby tylko dół miał obrys (linia przerywana). Kiedy spróbuję wykonać następujące czynności, pociągnięcie dzieli kształt na pół przez środek. Czy ktoś wie, jak to zrobić dobrze? kreska musi być dolną linią / obramowaniem. Używam kształtu jako tła do TextView. Proszę, nieważne, dlaczego tego potrzebuję.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#1bd4f6" />
</shape>
</item>
<item>
<shape android:shape="line" >
<padding android:bottom="1dp" />
<stroke
android:dashGap="10px"
android:dashWidth="10px"
android:width="1dp"
android:color="#ababb2" />
</shape>
</item>
</layer-list>
android
android-drawable
android-styles
layer-list
Cote Mounyo
źródło
źródło
Odpowiedzi:
To trochę hack, ale myślę, że to prawdopodobnie najlepszy sposób, aby to zrobić. Linia przerywana zawsze będzie na dole, niezależnie od wysokości.
Wyjaśnienie:
Drugi kształt to przezroczysty prostokąt z przerywanym konturem. Kluczem do pojawienia się obramowania tylko na dole są ujemne marginesy ustawione na pozostałych stronach. Te ujemne marginesy „wypychają” przerywaną linię poza narysowany obszar po tych stronach, pozostawiając tylko linię na dole. Jednym potencjalnym efektem ubocznym (którego nie próbowałem) jest to, że w przypadku widoków, które wykraczają poza własne granice, granice ujemnych marginesów mogą stać się widoczne.
źródło
To załatwia sprawę ...
źródło
źródło
Ta odpowiedź jest dla tych wyszukiwarek Google, którzy chcą wyświetlić przerywane dolne obramowanie,
EditText
jak tutajUtwórz folder
dotted.xml
wewnętrznydrawable
i wklej jeNastępnie po prostu ustaw
android:background
atrybut nadotted.xml
właśnie utworzony. TwójEditText
wygląd wygląda tak.źródło
Wydaje mi się, że jest to proste, bez tych wszystkich negatywnych poduszek i bocianów.
źródło
<item android:drawable="@color/main_bg_color"/>
Wypróbuj następny kod XML do rysowania:
źródło
Myślę, że nie musisz używać kształtu, jeśli cię rozumiem.
Jeśli wyglądasz tak, jak pokazano na poniższym obrazku, użyj następującego układu.
EDYTOWAĆ
baw się z tymi właściwościami, a otrzymasz wynik
spróbuj w ten sposób
źródło
Proste rozwiązanie:
Utwórz plik do rysowania jako edittext_stroke.xml w folderze do rysowania. Dodaj poniższy kod:
W pliku układu dodaj element do rysowania do pliku edittext jako
źródło
Zwykle do podobnych zadań - utworzyłem listę warstw, którą można rysować, taką jak ta:
Pomysł polega na tym, że najpierw rysujesz prostokąt za pomocą underlineColor, a następnie narysujesz inny prostokąt z faktycznym buttonColor, ale stosując bottomPadding. To zawsze działa.
Ale kiedy potrzebowałem, aby buttonColor był przezroczysty, nie mogłem użyć powyższego rysowalnego. Znalazłem jeszcze jedno rozwiązanie
(jak widać tutaj mainButtonColor jest przezroczysty, a white_box to zwykły prostokąt, który można narysować za pomocą białej bryły)
źródło
użyj tego xml zmień kolor według własnego wyboru.
W przypadku, jeśli chcesz programowo
nazwij tę metodę jak
źródło
To zadziałało najlepiej dla mnie:
Pokazuje linię tylko na dole. Możesz łatwo zmienić szerokość obrysu do rozmiaru, który lubisz, a także odpowiednio zaktualizować górną, lewą i prawą stronę.
źródło
Najłatwiej to zrobić, umieszczając za tym widokiem, gdzie chcesz dolną granicę
źródło
jest to całkowicie przezroczysty Edittext z przezroczystym tłem.
źródło
Proste rozwiązanie :
I wreszcie coś takiego :)
źródło