我的应用有两个标签贴在屏幕的底部。只要附加到选项卡的两个片段中的一个被另一个片段替换,这些选项卡就会到达屏幕顶部。
这是我的代码替换片段:
// Create fragment and give it an argument for the selected article
AudioPlayback newFragment = new AudioPlayback();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack so the user can navigate back
transaction.replace(R.id.container, newFragment);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
// Commit the transaction
transaction.commit();
这是我的容器布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:padding="0dip"
android:gravity="center_horizontal"
android:id="@+id/container"
android:layout_width="match_parent" android:layout_height="match_parent">
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabIndicatorHeight="3px"
app:tabIndicatorColor="@android:color/holo_blue_dark"
app:tabGravity="fill" />
</LinearLayout>
我使用在主活动中实现的接口替换片段。这是正确而成功的。
你可以提供一些关于如何在更换片段后将标签保持在底部的建议吗?
答案 0 :(得分:0)
这是在此布局中添加片段后这些选项卡将向上移动的预期行为。如果要在两个选项卡之前进行分段,请在xml中进行以下更改。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:padding="0dip"
android:gravity="center_horizontal"
android:layout_width="match_parent" android:layout_height="match_parent">
<FrameLayout android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabIndicatorHeight="3px"
app:tabIndicatorColor="@android:color/holo_blue_dark"
app:tabGravity="fill" />
</LinearLayout>