【问题标题】:SlidingTabView inside Toolbar工具栏中的 SlidingTabView
【发布时间】:2016-03-25 15:39:51
【问题描述】:

我的Toolbar 中嵌入了一个透明的SlidingTabLayout,下面还有一个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 的左下角吗?

我在很多设备和模拟器上都试过了,但还是一样。

【问题讨论】:

  • 尝试在线性布局中嵌套SlidingTabLayout(宽度为match_parent,高度为wrap_content)。
  • 我已经这样做了,还使用了 LinearLayout 参数,但它并没有改变我能看到的任何东西。

标签: android tabs android-viewpager toolbar transparent


【解决方案1】:

我建议您将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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多