내 앱에는 화면 하단에 붙어있는 두 개의 탭이 있습니다. 이러한 탭은 탭에 연결된 두 조각 중 하나가 다른 조각으로 바뀔 때마다 화면의 맨 위로 이동합니다. 여기하단의 탭을 가진 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