Tworzenie dwóch liniowych linii ma po 50% ekranu bez użycia layout_weight
Obecnie wykonuję specjalny układ xml ekranu poziomego, na którym znajdują się 4 obrazy, a 2 liniowe są obok siebie z 2 obrazami każdy. Te LinearLayouts dzwonięlinearLayout1
ilinearLayout2
.
linearLayout1
jest oznaczony niebieskim prostokątem:
linearLayout2
jest oznaczony niebieskim prostokątem:
Jak widać, pierwszy wykorzystuje ~ 80% ekranu, podczas gdy drugi wykorzystuje to, co zostało. Oczywiście nie chcę tego, chcę 50% za każdy. Nie mogę użyćlayout_weight
ponieważ jest już używany w samych liniach (pozycjonowanie dwóch obrazów) i zagnieżdżone ciężary są złe dla wydajności.
Próbowałem wielu różnych odmian, ale po prostu nie mogę zmusić dwóch LinearLayouts do posiadania po 50% ekranu. Oto kod:
<code><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/db1_root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <LinearLayout android:id="@+id/title_container" style="@style/TitleBar" > <ImageView style="@style/TitleBarLogo" android:contentDescription="@string/imgViewDesc" android:src="@drawable/title_logo" /> <ImageView style="@style/TitleBarSeparator" android:contentDescription="@string/imgViewDesc" /> <TextView style="@style/TitleBarText" /> <ImageButton style="@style/TitleBarAction" android:contentDescription="@string/imgViewDesc" android:onClick="onClickAbout" android:src="@drawable/title_about" /> </LinearLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/title_container" android:layout_above="@+id/mobFoxView" > <!-- LEFT COLUMN --> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/mobFoxView" android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/linearLayout2" android:background="@color/white" android:gravity="center" android:orientation="vertical" android:weightSum="2" > <ImageView android:id="@+id/imgNews" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:contentDescription="@string/imgViewDesc" android:onClick="onClickFeature" android:src="@drawable/front_news_1" /> <ImageView android:id="@+id/imgReleases" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:contentDescription="@string/imgViewDesc" android:onClick="onClickFeature" android:src="@drawable/front_releases_1" /> </LinearLayout> <!-- RIGHT COLUMN --> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_above="@+id/mobFoxView" android:layout_alignParentRight="true" android:layout_alignTop="@id/linearLayout1" android:background="@color/white" android:gravity="center" android:orientation="vertical" android:weightSum="2" > <ImageView android:id="@+id/imgArtists" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:contentDescription="@string/imgViewDesc" android:onClick="onClickFeature" android:src="@drawable/front_artists_1" /> <ImageView android:id="@+id/imgLabels" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:contentDescription="@string/imgViewDesc" android:onClick="onClickFeature" android:src="@drawable/front_labels_1" /> </LinearLayout> </RelativeLayout> <com.mobfox.sdk.MobFoxView android:id="@+id/mobFoxView" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignParentBottom="true" mode="test" publisherId="@string/mobFoxID" /> </RelativeLayout> </code>