[英]Xamarin Android TabLayout adding fragments to ViewPager instead of layouts
[英]Android - ViewPager flipping just Layouts instead of Fragments
在Android上有一個簡單的方法,如何在不需要使用片段的情況下在不同的布局之間進行切換。 我的觀點是靜態的(在那里沒有真正發生),但出於本地化目的,我們不會使用圖像,所以我會選擇布局解決方案。
我將很高興看到一個展示這種技術的好例子。
編輯:
以下是基於以下答案的完整工作代碼:
public class LayoutPagerAdapter : PagerAdapter
{
Context m_context;
readonly int[] m_slideLayoutResourceIds;
public LayoutPagerAdapter(Context context, int[] slideLayoutResourceIds)
{
m_context = context;
m_slideLayoutResourceIds = slideLayoutResourceIds;
}
public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
{
var inflater = LayoutInflater.From(m_context);
var view = inflater.Inflate(m_slideLayoutResourceIds[position], container, false);
container.AddView(view);
return view;
}
public override void DestroyItem(View container, int position, Java.Lang.Object objectValue)
{
base.DestroyItem(container, position, objectValue);
}
#region implemented abstract members of PagerAdapter
public override bool IsViewFromObject(View view, Java.Lang.Object objectValue)
{
return view == objectValue;
}
public override int Count
{
get
{
return m_slideLayoutResourceIds.Length;
}
}
#endregion
}
您可以為此創建自己的簡單適配器:
public static class ViewPagerAdapter extends PagerAdapter {
private Context mContext;
public ViewPagerAdapter(Context context) {
mContext = context;
}
@Override
public View instantiateItem(ViewGroup container, int position) {
View view = LayoutInflater.from(mContext).inflate(R.layout.your_layout, container, false);
return view;
}
@Override
public int getCount() {
return 5;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.