• 6.侧边栏菜单详情页


    这是在viewpager里又加入了viewpager,先写viewpager,再写indicate
    1. 菜单详情页基类
    1. public abstract class BaseMenuDetailPager {
    2. public Activity mActivity;
    3. public View mRootView;// 根布局对象
    4. public BaseMenuDetailPager(Activity activity) {
    5. mActivity = activity;
    6. mRootView = initViews();
    7. }
    8. /**
    9. * 初始化界面
    10. */
    11. public abstract View initViews();
    12. /**
    13. * 初始化数据
    14. */
    15. public void initData() {
    16. }
    17. }
    2.页签详情页
    1. public class TabDetailPager extends BaseMenuDetailPager {
    2. NewsTabData mTabData;
    3. private TextView tvText;
    4. public TabDetailPager(Activity activity, NewsTabData newsTabData) {
    5. super(activity);
    6. mTabData = newsTabData;
    7. }
    8. @Override
    9. public View initViews() {
    10. tvText = new TextView(mActivity);
    11. tvText.setText("页签详情页");
    12. tvText.setTextColor(Color.RED);
    13. tvText.setTextSize(25);
    14. tvText.setGravity(Gravity.CENTER);
    15. return tvText;
    16. }
    17. @Override
    18. public void initData() {
    19. tvText.setText(mTabData.title);
    20. }
    21. }
    3. 菜单详情页-新闻
    news_menu_detail,不过写到这里时里面只有一个viewpager
    1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    2. android:layout_width="match_parent"
    3. android:layout_height="match_parent"
    4. android:orientation="vertical" >
    5. <LinearLayout
    6. android:layout_width="match_parent"
    7. android:layout_height="wrap_content"
    8. android:orientation="horizontal" >
    9. <com.viewpagerindicator.TabPageIndicator
    10. android:id="@+id/indicator"
    11. android:layout_width="match_parent"
    12. android:layout_height="wrap_content"
    13. android:layout_weight="1" />
    14. <ImageButton
    15. android:id="@+id/btn_next"
    16. android:layout_width="wrap_content"
    17. android:layout_height="wrap_content"
    18. android:layout_gravity="center_vertical"
    19. android:background="@android:color/transparent"
    20. android:padding="5dp"
    21. android:src="@drawable/news_cate_arr" />
    22. </LinearLayout>
    23. <android.support.v4.view.ViewPager
    24. android:id="@+id/vp_menu_detail"
    25. android:layout_width="match_parent"
    26. android:layout_height="match_parent" />
    27. </LinearLayout>

    1. public class NewsMenuDetailPager extends BaseMenuDetailPager {
    2. private ViewPager mViewPager;
    3. private ArrayList<TabDetailPager> mPagerList;//11个页签
    4. private ArrayList<NewsTabData> mNewsTabData;// 11个页签的网络数据,在NewsData里定义了
    5. public NewsMenuDetailPager(Activity activity,//这样写就把解析的11个页面传过来了
    6. ArrayList<NewsTabData> children) {
    7. super(activity);
    8. mNewsTabData = children;
    9. }
    10. @Override
    11. public View initViews() {
    12. View view = View.inflate(mActivity, R.layout.news_menu_detail, null);
    13. mViewPager = (ViewPager) view.findViewById(R.id.vp_menu_detail);
    14. return view;
    15. }
    16. @Override
    17. public void initData() {
    18. mPagerList = new ArrayList<TabDetailPager>();
    19. // 初始化页签数据
    20. for (int i = 0; i < mNewsTabData.size(); i++) {
    21. TabDetailPager pager = new TabDetailPager(mActivity, mNewsTabData.get(i));
    22. mPagerList.add(pager);
    23. }
    24. mViewPager.setAdapter(new MenuDetailAdapter());
    25. }
    26. class MenuDetailAdapter extends PagerAdapter {
    27. @Override
    28. public int getCount() {
    29. return mPagerList.size();
    30. }
    31. @Override
    32. public boolean isViewFromObject(View arg0, Object arg1) {
    33. return arg0 == arg1;
    34. }
    35. @Override
    36. public Object instantiateItem(ViewGroup container, int position) {
    37. TabDetailPager pager = mPagerList.get(position);
    38. container.addView(pager.mRootView);
    39. pager.initData();
    40. return pager.mRootView;
    41. }
    42. @Override
    43. public void destroyItem(ViewGroup container, int position, Object object) {
    44. container.removeView((View) object);
    45. }
    46. }
    47. }
    4.其他页面,只是暂时这样写

    1. /**
    2. * 菜单详情页-互动
    3. *
    4. * @author Kevin
    5. *
    6. */
    7. public class InteractMenuDetailPager extends BaseMenuDetailPager {
    8. public InteractMenuDetailPager(Activity activity) {
    9. super(activity);
    10. }
    11. @Override
    12. public View initViews() {
    13. TextView text = new TextView(mActivity);
    14. text.setText("菜单详情页-互动");
    15. text.setTextColor(Color.RED);
    16. text.setTextSize(25);
    17. text.setGravity(Gravity.CENTER);
    18. return text;
    19. }
    20. }























































  • 相关阅读:
    HDU 1950 Bridging signals(LIS)
    PKU 1094 Sorting It All Out(拓扑排序)
    中国剩余定理(孙子定理)详解
    51Nod 1079
    翻转游戏
    不构造树的情况下验证先序遍历
    图说流程管理
    从架构到流程
    POS(Plan Operation Support 和 OES(Operation Enable Support)
    流程规划方法→POS法
  • 原文地址:https://www.cnblogs.com/sixrain/p/4915710.html
Copyright © 2020-2023  润新知