SlidingTabView里面的工具栏

时间:2016-03-25 15:39:52

标签: android tabs android-viewpager toolbar transparent

我的SlidingTabLayoutToolbar中嵌入了透明的ViewPager

一切正常,功能齐全。但是,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内的左下角吗?

我已经在众多设备和模拟器上尝试过它,但它仍然是相同的。

1 个答案:

答案 0 :(得分:0)

我建议您将SlidingTabLayout嵌套在RelativeLayout内。

然后,您可以使用android:layout_alignParentBottomandroid: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>