我需要添加一些从滑动选项卡页面布局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>发布于 2017-08-02 18:39:14
在布局中包含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,您可以越过自定义选项卡视图。如果返回的视图包含id Resource.Id.psts_tab_title,则此视图应该是一个TextView,并将用于放置标题。如果不希望该库管理选项卡的TextView标题,请在选项卡布局中使用与Resource.Id.psts_tab_title不同的id。
如果您的适配器没有影响接口CustomTabProvider,那么将使用默认选项卡(这是一个id为Resource.Id.psts_tab_title的TextView )。
(可选)如果将implement IOnPageChangeListener与视图分页程序一起使用,则应在小工具中设置它,而不是直接在分页程序上设置。
//从上面继续
tabs.SetOnPageChangeListener(pageChangeListener);有关示例代码,请参阅此链接:
https://github.com/jamesmontemagno/PagerSlidingTabStrip-for-Xamarin.Android
示例http://cforbeginners.com/XamarinProjects.html
https://stackoverflow.com/questions/45458425
复制相似问题