如何在活动中的TabLayout下方显示片段?

时间:2016-07-10 14:05:03

标签: android android-fragments android-tablayout

活动中,我有:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/find_friend_fragment_container"
    tools:context="com.hb.birthpay.activity.FindFriendActivity">

        <android.support.design.widget.TabLayout
            android:id="@+id/find_friends_options_tab_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </android.support.design.widget.TabLayout>

</RelativeLayout>

片段中,我有:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:tools="http://schemas.android.com/tools"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:orientation="vertical"
             xmlns:app="http://schemas.android.com/apk/res-auto"
             tools:context=".fragment.SuggestedFriendsFragment">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Suggested friends"
        android:textSize="16sp"
        android:textStyle="bold"
        android:background="#f2f2f2"
        android:id="@+id/suggested_friend_text_view"
        android:height="50dp"
        android:gravity="center_vertical"
        android:paddingStart="16dp"
        android:paddingLeft="16dp" />

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/suggested_friends_recycler_view"/>

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/find_friend_progress_bar"
        android:layout_gravity="center"/>

</LinearLayout>

我在活动代码中动态添加片段。现在这就是它的样子:

enter image description here

我希望我的片段在活动中的TabLayout下方对齐。我如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

添加到新的framelayout

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/find_friend_fragment_container"
>

<android.support.design.widget.TabLayout
    android:id="@+id/find_friends_options_tab_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</android.support.design.widget.TabLayout>

<FrameLayout
    android:layout_below="@+id/find_friends_options_tab_layout"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</FrameLayout>
</RelativeLayout>

MainAcitivity:

transation.replace(R.id.container,fragment);

答案 1 :(得分:1)

将评论迁移到答案,因为它有助于解决问题:

  

将最外面的<RelativeLayout更改为<LinearLayout

简短说明:使用<RelativeLayout>允许重叠,而<LinearLayout>则不然。