2017-08-02 66 views
0

我需要在每个标签中添加一些页面从滑动标签页面布局Xamarin Android,我已经使滑动标签布局的作品,但我不能改变每个标签的页面在这里是我的代码片段代码:如何在滑动标签布局中添加页面在Xamarin Android

public class SlidingTabsFragment : Fragment 
    { 
     private SlidingTabScrollView mSlidingTabScrollView; 
     private ViewPager mViewPager; 

     public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
      return inflater.Inflate(Resource.Layout.fragment_sample, container, false); 
     } 

     public override void OnViewCreated(View view, Bundle savedInstanceState) 
     { 
      mSlidingTabScrollView = view.FindViewById<SlidingTabScrollView>(Resource.Id.sliding_tabs); 
      mViewPager = view.FindViewById<ViewPager>(Resource.Id.viewpager); 
      mViewPager.Adapter = new SamplePagerAdapter(); 

      mSlidingTabScrollView.ViewPager = mViewPager; 
     } 

     public class SamplePagerAdapter : PagerAdapter 
     { 
      List<string> items = new List<string>(); 

      public SamplePagerAdapter() : base() 
      { 
       items.Add("Nasional"); 
       items.Add("Olahraga"); 
       items.Add("Internasional"); 
       items.Add("Hiburan"); 
       items.Add("Sains"); 
       items.Add("Ekonomi"); 
      } 

      public override int Count 
      { 
       get { return items.Count; } 
      } 

      public override bool IsViewFromObject(View view, Java.Lang.Object obj) 
      { 
       return view == obj; 
      } 

      public override Java.Lang.Object InstantiateItem(ViewGroup container, int position) 
      { 
       View view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.pager_item, container, false); 
       container.AddView(view); 

       TextView txtTitle = view.FindViewById<TextView>(Resource.Id.item_title); 
       int pos = position + 1; 
       txtTitle.Text = pos.ToString(); 

       return view; 
      } 

      public string GetHeaderTitle(int position) 
      { 
       return items[position]; 
      } 

      public override void DestroyItem(ViewGroup container, int position, Java.Lang.Object obj) 
      { 
       container.RemoveView((View)obj); 
      } 
     } 
    } 

,我想在这里是什么使每个选项卡重定向到另一个网页,我做了,这里是

<?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:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:minHeight="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:titleTextColor="#333639" /> 
    <android.support.v7.widget.RecyclerView 
     android:padding="8dp" 
     android:id="@+id/recyclerView" 
     android:layout_below="@id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
</RelativeLayout> 

回答

0

附上我的网页的例子PagerSlidingTabStrip小部件在您的布局。这通常应该放在它所代表的ViewPager上方。

<com.refractored.PagerSlidingTabStrip android:id="@+id/tabs" 
android:layout_width="match_parent" android:layout_height="? 
attr/actionBarSize" android:background="?attr/colorPrimary" /> 

在您的OnCreate方法(或片段的OnCreateView)中,将小部件绑定到ViewPager。

// Initialize the ViewPager and set an adapter 
var pager = FindViewById<ViewPager>(Resource.Id.pager); 
pager.Adapter = new TestAdapter(SupportFragmentManager); 

// Bind the tabs to the ViewPager 
var tabs = FindViewById<PagerSlidingTabStrip>(Resource.Id.tabs); 
tabs.SetViewPager(pager); 

如果您的适配器实现了界面CustomTabProvider,您可以通过自定义选项卡view/s。如果返回的视图包含ID Resource.Id.psts_tab_title,则该视图应该是一个TextView,并将用于放置标题。如果您不希望库管理标签的TextView标题,请在标签布局中使用与Resource.Id.psts_tab_title不同的标识。

如果您的适配器没有推动接口CustomTabProvider,将使用默认选项卡(这是一个TextView,其ID为Resource.Id.psts_tab_title)。

(可选)如果对视图分页器使用实现IOnPageChangeListener,则应将其设置在小部件中,而不是直接在分页器上。

//从上面

tabs.SetOnPageChangeListener(pageChangeListener); 

继续示例代码,请参考以下链接:

https://github.com/jamesmontemagno/PagerSlidingTabStrip-for-Xamarin.Android

样品 http://cforbeginners.com/XamarinProjects.html

Youtube影片 https://www.youtube.com/watch?v=0Rr0ZCvX_Zs