2016-06-20 1 views
0

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

내가 주요 활동으로 구현됩니다 인터페이스를 사용하여 조각을 대체

다음은 조각을 교체하는 것이 내 코드입니다. 이것은 올바르게 성공적으로 수행됩니다.

조각을 바꾼 후 탭을 맨 아래로 유지하는 방법에 대한 조언을 제공 할 수 있습니까?

+1

컨테이너가 레이아웃 xml의 올바른 위치에 있지 않은 것 같습니다. 레이아웃 파일을 공유해 주시겠습니까? –

+0

안녕하세요 Arpit, 위의 컨테이너 코드로 내 질문을 편집했습니다. 기본적으로 컨테이너는 ViewPager 및 TabLayout을 포함하는 LinearLayout입니다. – Malloc

답변

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> 
+0

안녕하세요, 이번에는 교체되는 조각이 교체 된 조각 바로 위에 표시됩니다. 어쨌든 전체 화면으로 조각을 보여? – Malloc

+0

은이 단편 만 포함하는 새 활동을 시작합니다. –

+0

나는 따르고 싶지 않다. 어쨌든 고마워! – Malloc