前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >6.侧边栏菜单详情页

6.侧边栏菜单详情页

作者头像
六月的雨
发布2018-05-14 10:43:41
8630
发布2018-05-14 10:43:41
举报
文章被收录于专栏:Android开发指南Android开发指南

这是在viewpager里又加入了viewpager,先写viewpager,再写indicate

1. 菜单详情页基类

代码语言:javascript
复制
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() {	}}

2.页签详情页

代码语言:javascript
复制
public class TabDetailPager extends BaseMenuDetailPager {	NewsTabData mTabData;	private TextView tvText;	public TabDetailPager(Activity activity, NewsTabData newsTabData) {		super(activity);		mTabData = newsTabData;	}	@Override	public View initViews() {		tvText = new TextView(mActivity);		tvText.setText("页签详情页");		tvText.setTextColor(Color.RED);		tvText.setTextSize(25);		tvText.setGravity(Gravity.CENTER);		return tvText;	}	@Override	public void initData() {		tvText.setText(mTabData.title);	}}

3. 菜单详情页-新闻

news_menu_detail,不过写到这里时里面只有一个viewpager

代码语言:javascript
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <com.viewpagerindicator.TabPageIndicator            android:id="@+id/indicator"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1" />        <ImageButton            android: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.ViewPager        android:id="@+id/vp_menu_detail"        android:layout_width="match_parent"        android:layout_height="match_parent" /></LinearLayout>
代码语言:javascript
复制
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;	}	@Override	public View initViews() {		View view = View.inflate(mActivity, R.layout.news_menu_detail, null);		mViewPager = (ViewPager) view.findViewById(R.id.vp_menu_detail);		return view;	}	@Override	public 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 {		@Override		public int getCount() {			return mPagerList.size();		}		@Override		public boolean isViewFromObject(View arg0, Object arg1) {			return arg0 == arg1;		}		@Override		public Object instantiateItem(ViewGroup container, int position) {			TabDetailPager pager = mPagerList.get(position);			container.addView(pager.mRootView);			pager.initData();			return pager.mRootView;		}		@Override		public void destroyItem(ViewGroup container, int position, Object object) {			container.removeView((View) object);		}	}}

4.其他页面,只是暂时这样写

代码语言:javascript
复制
/** * 菜单详情页-互动 *  * @author Kevin *  */public class InteractMenuDetailPager extends BaseMenuDetailPager {	public InteractMenuDetailPager(Activity activity) {		super(activity);	}	@Override	public View initViews() {		TextView text = new TextView(mActivity);		text.setText("菜单详情页-互动");		text.setTextColor(Color.RED);		text.setTextSize(25);		text.setGravity(Gravity.CENTER);		return text;	}}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-10-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档