Tworzę układ (plik XML) w systemie Android, który ma dwa widoki podrzędne (jeden po prawej stronie ekranu i drugi po lewej). Chcę, aby widok z prawej strony wziął wcześniej określoną przestrzeń (w dp) i widok po lewej zajęłby całą pozostałą przestrzeń do limitu, w którym to momencie przestanie się rozwijać i oba układy będą po prostu idź dalej, gdy ekran się powiększy.Układ Androida z widokiem z prawej strony, który zajmuje wstępnie ustawione miejsce i widok po lewej stronie, aby wypełnić resztę ekranu do pewnego limitu
Dziwne jest to, że byłoby to bardzo łatwe, gdybym chciał, aby widok po prawej stronie był tym, który się rozszerza, a widok po lewej to taki, który zajmuje zadaną przestrzeń. Jeśli ustawisz każdy widok na żądaną szerokość (w poziomym układzie liniowym), Android zmniejszy się automatycznie po lewej stronie, jeśli oba widoki nie pasują.
Chciałbym to zrobić w jednym pliku układu; ten układ jest już zaprojektowany dla wyświetlaczy między sw512dp-land i sw765dp-land.
Poniższy kod zadziała, jeśli uda mi się znaleźć sposób, aby zminimalizować układ po lewej stronie (gdy układy nie mieszczą się w określonym rozmiarze). Ale domyślnie system zmniejszy układ po prawej stronie.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/left"
android:layout_width="150dip"
android:layout_height="fill_parent"
android:background="@color/red" >
</RelativeLayout>
<LinearLayout
android:id="@+id/right"
android:layout_width="100dip"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/green" >
</LinearLayout>
Kod ten (zawierający od @Lokesh) będzie działać, jeśli nie potrzebujesz układu po lewej, aby powstrzymać rozszerzanie w pewnym momencie.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/left"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/right"
android:background="@color/red" >
</LinearLayout>
<LinearLayout
android:id="@+id/right"
android:layout_width="100dip"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/green" >
</LinearLayout>
Byłoby również miło wiedzieć, czy ktoś uważa, że to nie jest możliwe, aby można było uciec się do robi to pragmatycznie lub zmienia moje podejście do układu.
Dzięki!
Czym dokładnie są te * widoki *, o których mówisz? Mam na myśli układy lub widżety? –
Spróbuj wysłać kod – Chaitanya
To powinno być łatwe do zrobienia, ale zależy od tego, co masz na myśli, mówiąc: * zajmujesz całą pozostałą przestrzeń do limitu *. – Luksprog