如何在Xamarin Android中的ViewPager中启用和禁用左右滑动

时间:2019-02-14 16:22:13

标签: android xamarin xamarin.android

在我的项目中,我使用了一个包含3页的viewpager。现在在第一页中,我有一个下一步按钮。因此,当我第一次进入首页时,除非单击下一步,否则我们不应该允许滑动。单击下一个按钮时,我们可以通过滑动回到第一页。因此,我们应该允许从第2页滑动到第1页。类似地,我在第2页中有一个下一个按钮。因此,当我第一次进入页面2时,使用滑动它也不应转到页面3。只有在单击页面2中的下一个按钮之后,它才会转到页面3。从第3页开始,应允许滑动到第2页和第1页。我该如何实现。从过去的两周开始,我正在尝试使用Internet教程中提供的一些自定义视图传呼器类,但根据要求它们都不适合我。

我的代码:

public class PagerFragment : Android.Support.V4.App.Fragment
    {

        public static ViewPager pager;

        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your fragment here
        }

        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.pager_layout, container, false);

            pager = view.FindViewById<ViewPager>(Resource.Id.viewPager);
            TabLayout tabLayout = view.FindViewById<TabLayout>(Resource.Id.tab_layout);                       
            pager.Adapter = new PagerAdapter(ChildFragmentManager);

            tabLayout.SetupWithViewPager(pager, true):
return view;

}

pagerlayout.axml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_marginTop="60dp"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/colorAccent" />
    <LinearLayout
        android:id="@+id/mainLinearlayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:orientation="vertical">
        <LinearLayout
            android:id="@+id/lin_layout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginLeft="6dp"
            android:layout_marginRight="6dp">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginTop="14dp"
                android:text="title"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:textSize="12sp" />
            <android.support.design.widget.TabLayout
                android:id="@+id/tab_layout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:tabMode="fixed"
                app:tabBackground="@drawable/tab_selector"
                app:tabIndicatorHeight="0dp" />
        </LinearLayout>
</LinearLayout>

请帮助我。会真的很感激

0 个答案:

没有答案