2015-02-03 2 views
4

Я реализую скользящую компоновку вкладок под панелью инструментов в андроиде, и все отображается на экране и работает, соглашаясь с тем, что касание вкладок ничего не поделает - будет работать только прокрутка.Вкладки непереключаемые SlidingTabLayout

Моя основная потребность - фактически отключить прокрутку и использовать ее как обычные вкладки. Что мне не хватает?

Я считаю, что я поставил его право:

ViewPager viewPager = (ViewPager) findViewById(R.id.viewPage); 
     viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(), getFragments())); 

     SlidingTabLayout slidingTabLayout = (SlidingTabLayout) findViewById(R.id.tabs); 
     slidingTabLayout.setDistributeEvenly(true); 
     slidingTabLayout.setViewPager(viewPager); 

И в XML:

<android.support.v7.widget.Toolbar 
    android:layout_width="match_parent" 
    android:layout_alignParentTop="true" 
    android:layout_height="60dp" 
    android:id="@+id/toolbar" 
    android:minHeight="?attr/actionBarSize" 
    android:background="@color/da_blue" /> 

<dapulse.dapulse.com.dapulse.app.SlidingTabLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/toolbar" 
    android:id="@+id/tabs"></dapulse.dapulse.com.dapulse.app.SlidingTabLayout> 


<android.support.v4.view.ViewPager 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/viewPage"></android.support.v4.view.ViewPager> 

ответ

1

Ok так это поведение (нажав на вкладки, чтобы перейти к следующей вкладке) задается с самого начала , Это не сработало для меня, пока я не нашел решение. По какой-то причине они не работали, пока я не назвал «bringToFront()» на них. Как только я это сделал, они работали так, как должны!

+3

Причина, по которой он не работал, вероятно, потому, что вы перекрыли свой SlidingTabLayout с помощью ViewPager (match_parent). Добавьте 'android: layout_below =" @ id/tabs "в ваш ViewPager, и он должен работать нормально. – mrek

0

я сделал несколько modificaiton на код, он должен работать сейчас:

<android.support.v7.widget.Toolbar 
    android:id="@+id/barLayout" 
    android:layout_width="match_parent" 
    android:layout_alignParentTop="true" 
    android:layout_height="60dp" 
    android:id="@+id/toolbar" 
    android:minHeight="?attr/actionBarSize" 
    android:background="@color/da_blue" /> 

<dapulse.dapulse.com.dapulse.app.SlidingTabLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/toolbar" 
    android:id="@+id/tabs"></dapulse.dapulse.com.dapulse.app.SlidingTabLayout> 


<android.support.v4.view.ViewPager 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@id/barLayout" 
    android:id="@+id/viewPage"></android.support.v4.view.ViewPager> 
0

Столкнувшись же проблема. Мое приложение работало на последних устройствах (6), но не на старых устройствах (4.4.2).

<android.support.v4.view.ViewPager 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:id="@+id/notification_viewpager"/>