I’d like to display a simple landscape layout with one list fragment on the left half of the screen and two vertically aligned fragments on the right. Showing all three fragments horizontally works fine, but my layout below shows only the list fragment and not the two others inside the vertical LinearLayout on the right. What am I doing wrong with my layout parameters?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<fragment class="com.copperykeenclaws.gameplanner.TeamListFragment"
android:id="@+id/team_list_fragment"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_weight="1"
android:layout_width="0px"
android:layout_height="wrap_content">
</fragment>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout android:id="@+id/team_details_frame"
android:layout_width="0px"
android:layout_height="wrap_content"/>
<FrameLayout android:id="@+id/team_players_frame"
android:layout_width="0px"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
The FrameLayouts get replaced programmatically in FragmentTransactions, which works fine in the all-horizontal layout.
Both
team_details_frameandteam_players_framehave widths of 0px, so they’ll won’t show. Either give them a layout_weight attribute (although nested layout_weights are discouraged, I doubt there will be much of a performance hit in your case) or set them to wrap_content or match_parent.