【问题标题】:make page scroll disable in pagerslidingtabstrip在 pagerslidingtabstrip 中禁用页面滚动
【发布时间】:2015-04-30 05:09:51
【问题描述】:

我们可以在 PagerSlidingTabStrip 中禁用页面滑动吗?我正在使用 PagerSlidingTabStrip 在我的示例中动态创建选项卡。每个片段上都有两个按钮

  1. 逐章分析
  2. 排名分析

我想要的是当用户点击 Rank wise analysis 滑动应该禁用并且选项卡隐藏并且当点击 Chapter wise analysis 选项卡应该再次可见并且滑动也应该启用。如何做到这一点?选项卡隐藏和显示工作正常,但无法禁用幻灯片。

【问题讨论】:

  • 顺便说一句,你有没有扩展片段都没关系,创建一个扩展viewPager的单独类

标签: android android-fragments pagerslidingtabstrip


【解决方案1】:

创建一个应该扩展 ViewPager 的单独类:

public class CustomViewPager extends ViewPager {

public CustomViewPager(Context context) {
    super(context);
}

public CustomViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    // Never allow swiping to switch between pages
    return false;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    // Never allow swiping to switch between pages
    return false;
}
}

然后使用这个 viewPager 在你的 xml 文件中设置如下:

<com.packagename.CustomViewPager
    android:id="@+id/view_pager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />

然后在您的活动中,将您的 FragmentPagerAdapter 设置为此 viewPager:

mViewPager.setAdapter(YourFragmentPagerAdapter)

【讨论】:

  • 不,我找到了解决我的问题的另一种方法。
【解决方案2】:

扩展 ViewPager 并覆盖 onInterceptTouchEvent() 和 onTouchEvent()。

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    return false;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    return false;
}

【讨论】:

    【解决方案3】:

    这是我的解决方案.... 我对布局进行了细微的更改。以前我在每个片段上都有 2 个按钮。 现在我将这两个按钮放在父活动中。这是我的xml 文件。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <LinearLayout
        android:id="@+id/lintab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    
        <com.joyoflearning.utils.PagerSlidingTabStrip
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="48dip"
            android:background="@drawable/background_tab" />
    </LinearLayout>
    
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/lintab"
        android:background="@drawable/background_tab"
        tools:context=".TestAnalysisActivity" />
    
    <LinearLayout
        android:id="@+id/RankAnalysisFragment"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/linButtons"
        android:orientation="vertical" >
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/linButtons"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/darkGray"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:paddingBottom="5dp"
        android:paddingTop="5dp" >
    
        <Button
            android:id="@+id/btnChapterWise"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:background="@drawable/btn_blue_bg"
            android:drawableLeft="@drawable/checkbtn_icon"
            android:drawablePadding="10dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="Chapterwise"
            android:textColor="#ffffff" />
    
        <Button
            android:id="@+id/btnRankWise"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_marginLeft="10dp"
            android:background="@drawable/btn_blue_bg"
            android:drawableLeft="@drawable/uncheckbtn_icon"
            android:drawablePadding="10dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="Rankwise"
            android:textColor="#ffffff" />
    </LinearLayout>
    

    现在点击ChapterWiseAnalysis按钮将隐藏LinerLayout,ID为RankAnalysisFragment,点击RankWiseAnalysis将隐藏Tabs,ViewPager并添加一个片段到LinerLayout

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      相关资源
      最近更新 更多