【问题标题】:SlidingTabLayout Tabs not clickableSlidingTabLayout 标签不可点击
【发布时间】:2015-04-02 13:43:59
【问题描述】:

我正在 android 的工具栏下实现滑动选项卡布局,所有内容都显示在屏幕上并且工作接受触摸选项卡不会做任何事情 - 只有滑动才会起作用。

我的主要需求是实际上禁用滑动并将其用作普通的旧标签。我错过了什么?

我相信我设置正确:

   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>

【问题讨论】:

    标签: android toolbar android-tabs pagerslidingtabstrip


    【解决方案1】:

    好的,所以从一开始就给出了这种行为(单击选项卡以移动到下一个选项卡)。在我找到解决方案之前,它对我不起作用。由于某种原因,直到我对它们调用“bringToFront()”,它们才起作用。一旦我这样做了,他们就会像他们应该的那样工作!

    【讨论】:

    • 它不起作用的原因可能是因为您将 SlidingTabLayout 与 ViewPager (match_parent) 重叠。在您的 ViewPager 中添加android:layout_below="@id/tabs",它应该可以正常工作。
    【解决方案2】:

    我对你的代码做了一些修改,它现在应该可以工作了:

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

    【讨论】:

      【解决方案3】:

      面临同样的问题。 我的应用可以在最新设备上运行 (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"/>
      

      给 viewpager 赋予权重,并将高度设置为 0 对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多