智慧XX项目的总结

又经过经过两个星期的不懈努力,又完成了一个的练习项目——智慧广州。现在稍稍做一下总结。随便分享一下载连接http://pan.baidu.com/s/1hsbY8Gc,详情请参考android智慧北京项目

有5大功能,首页,新闻中心,智慧服务,政务,设置,由于其他功能类似,其中只实现了首页新闻中心的内容,里面用到的数据均来自服务器tomcat上的数据,通过解析json得到。

(一)splash界面


1,动画效果

    AlphaAnimation  渐变动画
     RotateAnimation 旋转动画(设置锚点)
    ScaleAnimation  缩放动画(设置锚点)
    AnimationSet  动画集



(二)新手向导页GuideActivity和主界面 MainActivity 
1)GuideActivity

      用ViewPager加载三张图片

mViewPager.setAdapter(new GuideAdapter());// 设置数据

绘制先导页下方的小红点
measure->layout(确定位置)->draw(activity的onCreate方法执行结束之后才会走此流程)

监听layout方法结束的事件,位置确定好之后再获取圆点间距

2) MainActivity 

添加两个Fragment,LeftMenuFragment和ContentFragment

(三)主页面fragment
1,NoScrollViewPager 继承ViewPager

重写onTouchEvent方法,对滑动事件的禁用

onInterceptTouchEvent  方法 return false;// 不拦截子控件的事件


       mPagers = new ArrayList<BasePager>();

        // 添加五个标签页,点击切换ViewPager的内容

mPagers.add(new HomePager(mActivity));
mPagers.add(new NewsCenterPager(mActivity));
mPagers.add(new SmartServicePager(mActivity));
mPagers.add(new GovAffairsPager(mActivity));
mPagers.add(new SettingPager(mActivity));


----- 新闻中心  NewsCenterPager

// 请求服务器,获取数据
// 开源框架: XUtils
getDataFromServer();

获取服务器返回结果result

传给processData(result);方法解析数据

// Gson: Google Json
Gson gson = new Gson();
mNewsData = gson.fromJson(json, NewsMenu.class);
System.out.println("解析结果:" + mNewsData);

// 给侧边栏设置数据
fragment.setMenuData(mNewsData.data);

-------------菜单详情页-新闻 NewsMenuDetailPager

开源框架ViewPagerIndicator

@ViewInject(R.id.indicator)
private TabPageIndicator mIndicator;

mViewPager.setAdapter(new NewsMenuDetailAdapter());
mIndicator.setViewPager(mViewPager);

// 将viewpager和指示器绑定在一起.注意:必须在viewpager设置完数据之后再绑定

------------------------页签页面对象TabDetailPager

将下拉刷新和头条新闻数据添加到listview的头布局中

mViewPager.setAdapter(new TopNewsAdapter());
mIndicator.setViewPager(mViewPager);
mIndicator.setSnap(true);// 快照方式展示

private PullToRefreshListView lvList

列表新闻
mNewsList = newsTabBean.data.news;
if (mNewsList != null) {
mNewsAdapter = new NewsAdapter();
lvList.setAdapter(mNewsAdapter);
}

        
2,RadioGroup

// 底栏标签切换监听
rgGroup.setOnCheckedChangeListener




(四)侧边栏LeftMenuFragment

1, 用一个listview根据json解析出来的数据添加4个item

mAdapter = new LeftMenuAdapter();

lvList.setAdapter(mAdapter);

2, // 侧边栏点击之后, 要修改新闻中心的FrameLayout中的内容
setCurrentDetailPager(position);

设置当前菜单详情页 MainActivity---->ContentFragment---->NewsCenterPager
// 重新给frameLayout添加内容
BaseMenuDetailPager pager = mMenuDetailPagers.get(position);// 获取当前应该显示的页面
View view = pager.mRootView;// 当前页面的布局
// 清除之前旧的布局
flContent.removeAllViews();
flContent.addView(view);// 给帧布局添加布局



(五)新闻详情页面NewsDetailActivity
设置字体大小

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("字体设置");

// 根据选择的字体来修改网页字体大小

WebSettings settings = mWebView.getSettings();

// 正常字体
settings.setTextSize(TextSize.NORMAL);


分享

第三方分享平台: ShareSdk








 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值