Rozpoczynam korzystanie z Androida. Mam problem z uruchomieniem prostego układu.
Chciałbym użyć a, LinearLayout
aby ustawić dwa TextViews
w jednym rzędzie. Jeden TextView
po lewej stronie, drugi po prawej stronie (analogicznie do float: po lewej, float: po prawej w CSS).
Czy to możliwe, czy też muszę użyć innego ViewGroup
lub dalszego zagnieżdżania układu, aby to osiągnąć?
Oto, co mam do tej pory:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal" android:padding="10sp">
<TextView android:id="@+id/mytextview1" android:layout_height="wrap_content" android:text="somestringontheleftSomestring" android:layout_width="wrap_content"/>
<TextView android:id="@+id/mytextview2" android:layout_height="wrap_content" android:ellipsize="end"
android:text="somestringontheright" android:layout_width="wrap_content"/>
</LinearLayout>
Możesz użyć właściwości grawitacji, aby „przesuwać” widoki.
źródło
Można to zrobić z
LinearLayout
(mniejszym narzutem i większą kontrolą niż opcja Relative Layout). Podaj drugi widok pozostałej przestrzeni, abygravity
mogła działać. Przetestowano ponownie do API 16.Jeśli chcesz ograniczyć rozmiar pierwszego widoku tekstu, zrób to:
W razie potrzeby wyreguluj ciężary. Względny układ nie pozwala na ustawienie takiej wagi procentowej, tylko stałą wartość dp jednego z widoków
źródło
Nawet przy wskazówce Rollina, odpowiedź Dave'a Webba nie zadziałała dla mnie. Tekst po prawej stronie
TextView
nadal zachodził na tekst po lewejTextView
.W końcu uzyskałem zachowanie, które chciałem, po czymś takim:
Zauważ, że mytextview2 został
"android:layout_width"
ustawiony jako"match_parent"
.Mam nadzieję, że to komuś pomoże!
źródło
źródło
W przypadku, gdy chcesz, aby lewy i prawy element zawijały zawartość, ale miały środkową przestrzeń
źródło
Jest na to wiele innych sposobów, zrobiłbym coś takiego.
źródło
Odpowiedź Dave'a Webba zadziałała dla mnie. Dzięki! Oto mój kod, mam nadzieję, że to komuś pomoże!
Obraz: Obraz
źródło
Ten kod podzieli kontrolę na dwie równe strony.
źródło