public void initView(EUExIconList mEUExIconList) {
    this.mEUExIconList = mEUExIconList;
    /** 大约计算gridItem的高度 */
    float gridViewHight = UIConfig.getScaleHight() / UIConfig.getLine();
    int viewGroupBottomPadding =
        (int) (UIConfig.getGridScaleHight() * UIConfig.VIEWGROUP_BOTTOM_PADDING_HIGHT_SCALE);
    UIConfig.setPageIndicatorScaleHight(
        (int) (gridViewHight * UIConfig.PAGE_INDICATOR_HIGHT_SCALE));
    /** 精确计算gridItem的高度 gridItem的高度=(总高度-页码指示器高度 - viewGroupTopPadding - topPadding)/ 行数 */
    gridViewHight =
        (UIConfig.getScaleHight() - UIConfig.getPageIndicatorScaleHight() - viewGroupBottomPadding)
            / UIConfig.getLine();
    UIConfig.setGridScaleHight(gridViewHight);
    UIConfig.setTitleScaleHight((int) (gridViewHight * UIConfig.TITLE_HIGHT_SCALE));
    /** icon 高度 = gridItemHight * ICON_HIGHT_SCALE - iconTopPadding - iconBottomPadding */
    UIConfig.setIconScaleHight(
        (int)
            (gridViewHight * UIConfig.ICON_HIGHT_SCALE
                - UIConfig.getGridScaleHight() * UIConfig.ICON_PADDING_HIGHT_SCALE));
    UIConfig.setIconScaleWidth(UIConfig.getScaleWidth() / UIConfig.getRow());
    if (UIConfig.isShowIconFrame()) {
      UIConfig.setIconFrameWidth(
          UIConfig.getIconScaleHight() * UIConfig.ICON_FRAME_VISIBLE_WIDTH_SCALE);
    }
    mContainer.initFramePaint();
    // 动态设置Container每页的列数为2行
    mContainer.setColCount(UIConfig.getRow());
    // 动态设置Container每页的行数为4行
    mContainer.setRowCount(UIConfig.getLine());
    mContainer.setBackgroundColor(UIConfig.getBackgroundColor());
    pageIndicator.initViews(getApplicationContext());
    pageIndicator.setBackgroundColor(UIConfig.getBackgroundColor());
    mainView.setBackgroundColor(UIConfig.getBackgroundColor());

    RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) pageIndicator.getLayoutParams();
    rlp.height = (int) UIConfig.getPageIndicatorScaleHight();
    pageIndicator.setLayoutParams(rlp);
    // 初始化Container的Adapter
    IconAdapter mIconsAdapter =
        new IconAdapter(
            getApplicationContext(), mIconList, defIconUrl, widgetInfo, mEUExIconList, mContainer);
    // 设置Container添加删除Item的回调
    mContainer.setOnAddPage(this);
    // 设置Container页面换转的回调,比如自第一页滑动第二页
    mContainer.setOnPageChangedListener(this);
    // 设置Container编辑模式的回调,长按进入修改模式
    mContainer.setOnEditModeListener(this);
    // 设置Adapter
    mContainer.setSaAdapter(mIconsAdapter);
    // 调用refreView绘制所有的Item
    mContainer.refreView();
    mContainer.setEuexIconList(mEUExIconList);

    int pageSize = UIConfig.getLine() * UIConfig.getRow();
    int pageCount = (int) Math.ceil((float) mIconList.size() / (float) pageSize);
    pageIndicator.setTotalPageSize(pageCount);
    pageIndicator.setCurrentPage(0);
    mContainer.setPageIndicator(pageIndicator);
  }
 @Override
 public void handleMessage(Message msg) {
   switch (msg.what) {
     case WHAT_RESET_FRAME_COMPLETED:
       if (mContainer != null) {
         mContainer.resetScrollLayout();
         if (pageIndicator != null) {
           pageIndicator.removeAllViews();
         }
         initView(mEUExIconList);
         mContainer.resetFrameCompleted();
       }
       break;
     default:
       break;
   }
 }
 @Override
 public void onPage2Other(int former, int current) {
   pageIndicator.setCurrentPage(current);
 }