2016-03-25 3 views
0

У меня есть прозрачный SlidingTabLayout, встроенный в мои Toolbar и ViewPager ниже.SlidingTabView внутри панели инструментов

Все работает нормально, функционально. Тем не менее, SlidingTabLayout не отображается в нижнем левом углу Toolbar. Вместо этого, он плавает в середине и справа:

Вот мой макет:

<?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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/tool_bar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/thunderstorm2" 
     android:padding="0dp"> 

     <com.mjh.android.weathertestlayout.SlidingTabLayout 
      android:id="@+id/tab_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:backgroundTint="#88ffffff" 
      android:paddingLeft="0dp" 
      app:tabTextAppearance="@style/TextAppearance.AppCompat.Small"> 
     </com.mjh.android.weathertestlayout.SlidingTabLayout> 

    </android.support.v7.widget.Toolbar> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#ffcccc"> 
    </android.support.v4.view.ViewPager> 

</LinearLayout> 

А вот сопроводительный код:

adapter = new ViewPagerAdapter(getSupportFragmentManager(), 3); 
pager = (ViewPager) findViewById(R.id.pager); 
pager.setAdapter(adapter); 

tabs = (SlidingTabLayout) findViewById(R.id.tab_layout); 
tabs.setDistributeEvenly(true); 
tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() { 
@Override 
public int getIndicatorColor(int position) { 
    return getResources().getColor(R.color.gray); 
}}); 
tabs.setBackgroundColor(getResources().getColor(R.color.clear)); 
tabs.setViewPager(pager); 

Любая идея как получить SlidingTabLayout назад в нижнем левом в пределах моего Toolbar?

Я пробовал его на многочисленных устройствах и эмуляторах, но он остается тем же.

+0

Попытка вложенности SlidingTabLayout внутри линейной компоновки (с match_parent в ширину и в высоту wrap_content). – Sevle

+0

Я сделал это, а также играл с параметрами LinearLayout, но это ничего не меняет, что я вижу. – JackTheCripple

ответ

0

Я предлагаю вам гнездо вашего SlidingTabLayout внутри RelativeLayout.

Затем вы можете использовать android:layout_alignParentBottom и android:layout_alignParentLeft, чтобы разместить его в нижнем левом углу Toolbar.

<android.support.v7.widget.Toolbar 
    android:id="@+id/tool_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/thunderstorm2" 
    android:padding="0dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <com.mjh.android.weathertestlayout.SlidingTabLayout 
      android:id="@+id/tab_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:backgroundTint="#88ffffff" 
      android:paddingLeft="0dp" 
      app:tabTextAppearance="@style/TextAppearance.AppCompat.Small" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true"> 
     </com.mjh.android.weathertestlayout.SlidingTabLayout> 

    </RelativeLayout> 

</android.support.v7.widget.Toolbar> 

<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#ffcccc"> 
</android.support.v4.view.ViewPager> 

Смежные вопросы