Drawni Android: Określanie szerokości rysunku w procentach w pliku XML?
Próbuję stworzyć prosty obiekt rysunkowy, który chcę ustawić jako tło do prezentacji (użycie
setBackgroundDrawable
) Chcę tylko podzielić tło rysowanego obiektu na 2 równych prostokątach (50% - 50%), z których pierwsza musi być wypełniona czarnym, drugim białym:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="[url=http://schemas.android.com/apk/res/android">]http://schemas.android.com/apk ... gt%3B[/url]
<item android:id="@+id/back_color_1">
<shape android:shape="rectangle">
<solid android:color="#000000"/>
</shape>
</item>
<item android:id="@+id/back_color_2">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF"/>
</shape>
</item>
</layer-list>
Jak mogę wskazać, że każda liczba powinna mieć szerokość 50% w pliku definicji XML w szafy? Raczej
android:width="50%"
.
(Pracuję na Androidzie 3.0, ale myślę, że jest to ogólne pytanie Android.)
P.S: możesz to zrobić w CSS lub XAML.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Nie możesz określić procentu
. Musisz określić wartość pomiarową.
Android: Szerokość Otoczony tutaj:
http:// Developer.Android.com/Link/Android/R.ATTR.HTML # Szerokość
http://developer.android.com/r ... width
:
(Kopalnia ialię)
Musi istnieć wartość pomiarowa
, czyli liczba zmiennoprzecinkowa dołączana do jednostki, na przykład „14,5sp”. Dostępne jednostki: px (piksele), dp (piksele niezależne od gęstości), sp (piksele skalowane w oparciu o preferowany rozmiar czcionki), w (cale), mm (milimetry).
Aby zapoznać się z definicją każdego typu pomiaru, zobacz:
http://developer.android.com/g ... nsion
http://developer.android.com/g ... nsion
Musisz utworzyć własny atrybut (patrz.
styleable
http://developer.android.com/r ... e.html) i wykonaj obliczenia samodzielnie w .
Zobacz te dwa pytania i zawarte w nich linki, aby zapoznać się z przykładami
:
Anonimowy użytkownik
Potwierdzenie od:
Wydaje się, że najprostszy sposób osiągnięcia tego jest użycie obrazu jako tła rysunku i po prostu zrobić czarno-biały obraz podziału.
Jedynym innym sposobem, w jaki wiem, jest podzielenie czegokolwiek - ma używać 2 widoków, każdy z własnym kolorem BG i każdej i tej samej wartości dodatniej dla atrybutu Android: Layout_Weight (I. 50/50). Następnie oddzielą dostępną przestrzeń.
mam nadzieję że to pomoże!
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
setLayerInset
http://developer.android.com/r ... 28int,%20int,%20int,%20int,%20int%29
.
Jednak ta metoda jest trochę kłopotnicza. W większości przypadków odpowiedź dostarczona przez Chrisa powinna wystarczyć.
Anonimowy użytkownik
Potwierdzenie od:
Jeśli idziesz w poziomie, ustaw layout_width na „fill_parent”, a następnie ustaw layout_weight na żądaną wartość procentową. Zacznij od czegoś podobnego do poniższego i baw się z wartościami layout_width, aby się zorientować (lub dodaj więcej widoków tylko dla lepszego zrozumienia).