Próbuję utworzyć układ z trzema widokami tekstu obok siebie. Odsyłacze mają różną długość.Utwórz widok tekstowy o równej szerokości z rzędu
Wszystko, co chcę zrobić, to ustawić je tak, aby zawsze miały taką samą szerokość układu, niezależnie od długości tekstu.
Podejścia Próbowałem:
1) Próbowałem za pomocą linear_layout i ustawienie wagi TextView się 1, ale to nie robi tego, ponieważ odnosi się tylko do pozostałej szerokości po wszystkich TextView są umieszczone.
2) Próbowałem również przy użyciu układu tabeli i rozciągania wszystkich kolumn za pomocą stretchColumns = "*". ale to również przydziela wymaganą szerokość do długości tekstów i dopiero wtedy rozciąga kolumny.
3) To jest haker, ale to też nie działa. Próbowałem mieć liniowy układ we względnym układzie z trzema widokami tekstu, aby nie mieć tekstu, ale zmusić je do równej szerokości, ustawiając ich ciężary. Działa to, ale chcę, aby moje następne widoki, które są w układzie względnym, dopasować się do prawej i lewej krawędzi widoków w układzie liniowym. Ale to nie działa. Oto mój układ, który wykorzystałem do tego.
<RelativeLayout
android:layout_width="fill_parent" android:layout_height="fill_parent" >
<!-- This is a hack to have all three textviews in a row to obtain equal width -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView android:id="@+id/tv_ref1"
android:layout_width="0dp" android:layout_height="wrap_content"
android:text="My"
android:layout_weight="1.0"
android:gravity="center" />
<TextView android:id="@+id/tv_ref2"
android:layout_width="0dp" android:layout_height="wrap_content"
android:text="My"
android:layout_weight="1.0"
android:gravity="center" />
<TextView android:id="@+id/tv_ref3"
android:layout_width="0dp" android:layout_height="wrap_content"
android:text="My ghghhfghjjghjkkhgfhfghfjhjh"
android:layout_weight="1.0"
android:gravity="center" />
</LinearLayout>
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/tv_ref1"
android:gravity="center"
android:text="Text Text Text"
android:textColor="@color/white" />
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/tv_ref1"
android:gravity="center_horizontal"
android:text="Med"
android:textColor="@color/white" />
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/tv_ref1"
android:gravity="center"
android:text="Long Text wtwy yu hjsyi"
android:textColor="@color/white" />
</RelativeLayout>
Proszę dać mi znać, co mogę robić źle i jak mogę zmusić moje TextView z rzędu, aby mieć równe szerokości.
Dziękuję.
To nie działa. Próbowałem tego. Daje większą szerokość tekstu, który jest dłuższy niż pozostałe teksty. – achie
jeśli szerokość_zespołu wynosi "opakuj zawartość", tak; jeśli jest to "fill_parent" - nie. spróbuj –
Ahh moje złe. Tak to działa. Nawet wyś wietlenia tekstowe w Linelayout w ramach relacyjnego playouta w kodzie mojego układu również leżĘ ... tak, że działa on z fill_parent lub 0dp dla wszystkich wyś wietleń tekstowych. Może również działać, jeśli ustawimy szerokość wszystkich widoków tekstowych na takie same. Dziękuję Ci. – achie