我的應用程序有兩個標籤,堅持屏幕的底部。只要連接到選項卡的兩個片段中的一個片段被另一個片段替換,這些選項卡就會到達屏幕的頂部。AppCompatActivity與底部的標籤獲取到標籤頂部,每當一個片段被替換
這裏是我的代碼替換片段:
// 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>
我用它獲取的主要活動實現的接口更換片段。這是正確和成功完成的。
你能提供一些建議,說明如何在片段被替換後將標籤保持在最底部?
我認爲你的容器不在佈局xml中的正確位置。你能分享一下佈局文件嗎? –
嗨Arpit,我用上面的容器代碼編輯了我的問題。基本上,容器是嵌入ViewPager和TabLayout的LinearLayout。 – Malloc