I have a horizontal Linear Layout, containing two Layouts. I want the right layout to be as wide as the content (wrap_content). The left layout shall fill remaining space.
I tried with "match_parent" on the left layout(Relative Layout) and "wrap_content" on the right layout(Linear Layout), but the left layout takes all the space.
How can I solve this problem, that the left Layout just takes the space, which remains, not everything. Like letting the right layout take its space first.
EDIT:: Sorry, I wanted to post a picture, but couldnt, here is the code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:measureWithLargestChild="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00ff27"
android:layout_gravity="bottom">
</RelativeLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:baselineAligned="false"
android:layout_alignParentStart="true">
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_alignParentStart="true" />
</LinearLayout>
The Relative Layout on the left takes ALL the space (the screen becomes green). I want the Relative Layout to take the width, which remains from the LinearLayout, so you can see the button in the Layout.
Android lays out views in the order in which they appear in the layout file. Therefore, your first view fills up all available space before the second view has a chance to take up any space. One workaround is to make your root layout a RelativeLayout instead of a LinearLayout, letting you put the right-side view first. Another is to leave the root LinearLayout and use the layout_weight attribute. On your first view, instead of android:layout_width="match_parent"
, try android:layout_width="0dp"
and android:layout_weight="1"