仿今日头条Android App源码_高仿类似今日头条源码下载
程序员文章站
2022-02-07 12:24:56
...
分享的项目是头条新闻客户端、应用相对来说是很完整的、引用了开源库pulltoRefresh、上拉下拉刷新、并附带第三方登录、qq和微博、不过得自己为应用申请一个key、同时使用slideMenu fragment的组合方式、可以有侧拉菜单
新闻数据、为json数据、并带有评论功能、项目中代码层次分明、大部分方法都加了详细的注释、对于想学习侧拉菜单和fragment viewpager的开发人员来说、简直是福音、上图
单例模式NewFragment()、不能使用默认构造器创建对象、外部只能下面的来创建、创建一个fragment类型、通过传入类型id产生多个不同的fragment实例对象
public static NewFragment newInastance(int category_id) { NewFragment nf = new NewFragment(); Bundle bundle = new Bundle(); bundle.putInt("category_id", category_id); nf.setArguments(bundle);//绑定数据最早执行 return nf; }
PullToRefreshListView初始化、自定义上拉下拉的参数
private void initPlv() { plv.setMode(Mode.BOTH); ILoadingLayout start =plv.getLoadingLayoutProxy(true, false); start.setLastUpdatedLabel(StringUtils.getTime(System.currentTimeMillis())); start.setPullLabel("下拉刷新"); start.setRefreshingLabel("刷新中..."); start.setReleaseLabel("释放刷新"); ILoadingLayout end = plv.getLoadingLayoutProxy(false, true); end.setLastUpdatedLabel(StringUtils.getTime(System.currentTimeMillis())); end.setPullLabel("上拉加载更多"); end.setRefreshingLabel("加载中..."); end.setReleaseLabel("释放加载"); //给plv设置点击plv显示背景 //要使用PullToReFreshListView里面的listView来操作设置 ListView lv = plv.getRefreshableView(); lv.setBackgroundColor(Color.WHITE); lv.setSelector(R.drawable.sel_newfragment_plv); lv.setCacheColorHint(Color.parseColor("#00000000")); lv.setDividerHeight(DimenUtils.dp2px(1, act)); Drawable divider = act.getResources().getDrawable(R.drawable.shape_newfragment_divider); lv.setDivider(divider); plv.setOnRefreshListener(listener); plv.setOnItemClickListener(this); //当点击某个类别时,plv出现,必须做自动刷新 //这时没有给plv绑定适配器 //而里头做了判断adapter为空就会return,要对源码做修改才能做到自动刷新 plv.setRefreshing(); //第一次刷新是没有适配器的,第一次刷新完后才会有 }
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(); intent.setClass(act, NewsAcitvity.class); intent.putExtra("news", datas.get(position-1)); //需要携带显示的新闻 startActivity(intent); }
android 类似今日头条源代码下载链接: android 高仿今日头条 密码: hjpn