标签:
这是在viewpager里又加入了viewpager,先写viewpager,再写indicate
public abstract class BaseMenuDetailPager {public Activity mActivity;public View mRootView;// 根布局对象public BaseMenuDetailPager(Activity activity) {mActivity = activity;mRootView = initViews();}/*** 初始化界面*/public abstract View initViews();/*** 初始化数据*/public void initData() {}}
public class TabDetailPager extends BaseMenuDetailPager {NewsTabData mTabData;private TextView tvText;public TabDetailPager(Activity activity, NewsTabData newsTabData) {super(activity);mTabData = newsTabData;}@Overridepublic View initViews() {tvText = new TextView(mActivity);tvText.setText("页签详情页");tvText.setTextColor(Color.RED);tvText.setTextSize(25);tvText.setGravity(Gravity.CENTER);return tvText;}@Overridepublic void initData() {tvText.setText(mTabData.title);}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal" ><com.viewpagerindicator.TabPageIndicatorandroid:id="@+id/indicator"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1" /><ImageButtonandroid:id="@+id/btn_next"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:background="@android:color/transparent"android:padding="5dp"android:src="@drawable/news_cate_arr" /></LinearLayout><android.support.v4.view.ViewPagerandroid:id="@+id/vp_menu_detail"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>
public class NewsMenuDetailPager extends BaseMenuDetailPager {private ViewPager mViewPager;private ArrayList<TabDetailPager> mPagerList;//11个页签private ArrayList<NewsTabData> mNewsTabData;// 11个页签的网络数据,在NewsData里定义了public NewsMenuDetailPager(Activity activity,//这样写就把解析的11个页面传过来了ArrayList<NewsTabData> children) {super(activity);mNewsTabData = children;}@Overridepublic View initViews() {View view = View.inflate(mActivity, R.layout.news_menu_detail, null);mViewPager = (ViewPager) view.findViewById(R.id.vp_menu_detail);return view;}@Overridepublic void initData() {mPagerList = new ArrayList<TabDetailPager>();// 初始化页签数据for (int i = 0; i < mNewsTabData.size(); i++) {TabDetailPager pager = new TabDetailPager(mActivity, mNewsTabData.get(i));mPagerList.add(pager);}mViewPager.setAdapter(new MenuDetailAdapter());}class MenuDetailAdapter extends PagerAdapter {@Overridepublic int getCount() {return mPagerList.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic Object instantiateItem(ViewGroup container, int position) {TabDetailPager pager = mPagerList.get(position);container.addView(pager.mRootView);pager.initData();return pager.mRootView;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView((View) object);}}}
/*** 菜单详情页-互动** @author Kevin**/public class InteractMenuDetailPager extends BaseMenuDetailPager {public InteractMenuDetailPager(Activity activity) {super(activity);}@Overridepublic View initViews() {TextView text = new TextView(mActivity);text.setText("菜单详情页-互动");text.setTextColor(Color.RED);text.setTextSize(25);text.setGravity(Gravity.CENTER);return text;}}
标签:
原文地址:http://www.cnblogs.com/liuyu0529/p/4915710.html