我有ViewPager,在它下面我有10个按钮.通过单击按钮,例如#4,寻呼机立即转到第4页mPager.setCurrentItem(3);.但是,我想通过水平手指滑动来禁用分页.因此,寻呼完成仅通过点击按钮.那么,我怎么能用手指禁用滑动?
我有一个(Sherlock)FragmentActivity和2个标签片段.左边的片段是一个显示相册图片的GridView,右边的片段包含一个用于查看单个图片的ViewPager.从左侧片段中,您可以滚动图片并选择一个.对正确片段进行跳格(或滑动)将显示图片,因为它是ViewPager,您可以滑动到上一张或下一张图片.
除了FragmentActivity想拦截右侧滑动并向后移动到左侧选项卡之外,这种方法效果很好.当我在右侧选项卡上时,我想阻止FragmentActivity拦截滑动.如果我不得不完全禁用标签之间的滑动,那将是令人满意的.我只想将滑动专用于当前选项卡而不是用于在选项卡之间移动.
以下图像表示当前行为.右图显示了向右滑动时发生的情况.如您所见,左侧标签开始出现.我希望滑动仅应用于右侧选项卡,以便我可以在图像之间滑动而不显示左侧选项卡.

我看到了在ViewPager中控制滑动的解决方案,但还没有找到控制选项卡片段之间滑动的解决方案.
这是GridView片段和ViewPager片段的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="100dip"
android:gravity="center"
android:horizontalSpacing="4dip"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:verticalSpacing="4dip" />
</FrameLayout>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这里是ViewPager片段的代码摘要:
public class FragmentFlash extends SherlockFragment {
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
private ViewPager pager = null;
private int pagerPosition;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pagerPosition = 0;
// Gesture detection
gestureDetector = new GestureDetector(new MyGestureDetector());
gestureListener = …Run Code Online (Sandbox Code Playgroud) 我最近使用SlidingTabLayout两个标签创建了一个应用程序.我提到了这个链接
但是我不得不稍微修改一下.我不得不添加一个按钮来锁定标签的滑动.再次点击它时解锁它.所以我只是无法让标签不滑动.
我检查了这个问题禁用在选项卡之间滑动.但是他正在使用其他一些库来完成它并且它不再受支持.我正在使用默认的.在那个问题中,CustomViewPager扩展了android.support.v4.view.ViewPager.在我的项目中,ViewPagerAdapter扩展了FragmentStatePagerAdapter.
任何帮助都会非常有用.谢谢.
android ×3