千家信息网

如何使用Android实现上拉吸顶效果

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章给大家分享的是有关如何使用Android实现上拉吸顶效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下效果图1.home_layout.xml此布局即可
千家信息网最后更新 2025年01月16日如何使用Android实现上拉吸顶效果

这篇文章给大家分享的是有关如何使用Android实现上拉吸顶效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

效果图

1.home_layout.xml

此布局即可实现上拉标题固定在顶部

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

2.fragment

package com.broker.liming.fragment; import android.Manifest;import android.app.Activity;import android.content.ClipData;import android.content.ClipboardManager;import android.content.Context;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.res.Configuration;import android.content.res.Resources;import android.graphics.Color;import android.graphics.Point;import android.graphics.drawable.ColorDrawable;import android.os.Build;import android.os.Bundle;import android.os.Handler;import android.support.annotation.NonNull;import android.support.design.widget.AppBarLayout;import android.support.design.widget.CoordinatorLayout;import android.support.v4.app.ActivityCompat;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.app.FragmentTransaction;import android.support.v4.content.ContextCompat;import android.support.v4.view.ViewPager;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.support.v7.widget.Toolbar;import android.text.Html;import android.text.TextUtils;import android.util.DisplayMetrics;import android.util.Log;import android.util.TypedValue;import android.view.Display;import android.view.Gravity;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.view.WindowManager;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.PopupWindow;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.Toast; import com.bigkoo.convenientbanner.ConvenientBanner;import com.bigkoo.convenientbanner.holder.CBViewHolderCreator;import com.bigkoo.convenientbanner.listener.OnItemClickListener;import com.broker.liming.R;import com.broker.liming.activity.AgreementActivity;import com.broker.liming.activity.SplashActivity;import com.broker.liming.activity.WebViewActivity;import com.broker.liming.adapter.ArticleAdapter;import com.broker.liming.adapter.HomeAdapter;import com.broker.liming.api.HttpParams;import com.broker.liming.api.WebHttpParams;import com.broker.liming.application.LoadBugClass;import com.broker.liming.banner.IndicatorLocation;import com.broker.liming.banner.LoopLayout;import com.broker.liming.banner.LoopStyle;import com.broker.liming.banner.OnDefaultImageViewLoader;import com.broker.liming.banner.bean.BannerInfo;import com.broker.liming.banner.listener.OnBannerItemClickListener;import com.broker.liming.banner.view.BannerBgContainer;import com.broker.liming.base.BaseFragment;import com.broker.liming.bean.ColorInfo;import com.broker.liming.bean.CompanyBaseBean;import com.broker.liming.bean.HeadHomeBean;import com.broker.liming.bean.HomeBannerBean;import com.broker.liming.bean.HomeBean;import com.broker.liming.bean.HomeProductBean;import com.broker.liming.bean.MineBean;import com.broker.liming.bean.RecommendListBean;import com.broker.liming.bean.SettingBean;import com.broker.liming.bean.UserBean;import com.broker.liming.bean.UserInfoBean;import com.broker.liming.college.bean.ArticleClassifyListBean;import com.broker.liming.college.bean.FaXianListsBean;import com.broker.liming.college.bean.FindClassifysBean;import com.broker.liming.college.bean.KaoShiStatussBean;import com.broker.liming.constant.Constants;import com.broker.liming.dao.UserBeanDao;import com.broker.liming.editview.FunctionItem;import com.broker.liming.editview.SFUtils;import com.broker.liming.event.ChangXianLogin;import com.broker.liming.event.ELoginSuccess;import com.broker.liming.event.EventManager;import com.broker.liming.event.LongRiskEvent;import com.broker.liming.event.RefreshHomeArticleEvent;import com.broker.liming.interf.OnBottomTabReselectListener;import com.broker.liming.interfaclisetener.ArticleHomeClickLisener;import com.broker.liming.utils.AccountUtils;import com.broker.liming.utils.CommonUtils;import com.broker.liming.utils.DensityUtil;import com.broker.liming.utils.GsonUtils;import com.broker.liming.utils.LogUtil;import com.broker.liming.utils.LogUtil2;import com.broker.liming.utils.SPUtils;import com.broker.liming.utils.SobotUtils;import com.broker.liming.utils.StatusBarUtil;import com.broker.liming.utils.StringUtil;import com.broker.liming.utils.ToastUtil;import com.broker.liming.utils.UIHelper;import com.broker.liming.utils.Utils;import com.broker.liming.utils.ViewFindUtils;import com.broker.liming.viewholder.NetworkImageHolderView;import com.broker.liming.viewholder.TabViewHolder;import com.broker.liming.widget.AppBarStateChangeListener;import com.broker.liming.widget.CustomDialog;import com.broker.liming.widget.MyScrollView;import com.broker.liming.widget.OnTabSelectListener;import com.broker.liming.widget.RecyclerviewScrollLisetener;import com.broker.liming.widget.SetOnclickInterface;import com.broker.liming.widget.SlidingTabLayout;import com.broker.liming.widget.TitleBar;import com.bumptech.glide.Glide;import com.bumptech.glide.load.engine.DiskCacheStrategy;import com.bumptech.glide.load.resource.bitmap.CenterCrop;import com.bumptech.glide.load.resource.bitmap.RoundedCorners;import com.bumptech.glide.request.RequestOptions;import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonParser;import com.jcodecraeer.xrecyclerview.ProgressStyle;import com.jcodecraeer.xrecyclerview.XRecyclerView;import com.scwang.smartrefresh.layout.SmartRefreshLayout; import org.greenrobot.eventbus.Subscribe;import org.greenrobot.eventbus.ThreadMode;import org.json.JSONException; import java.util.ArrayList;import java.util.List;import java.util.Random; import lecho.lib.hellocharts.model.Line; import static com.broker.liming.constant.Constants.flag;import static com.broker.liming.utils.SystemInfoUtils.getScreenWidth;import static com.umeng.socialize.utils.ContextUtil.getPackageName; /** * Description: * Creator: Chenqiang * DatePopAdapter: 2018/2/24 */public class HomeFragment extends BaseFragment implements OnBottomTabReselectListener, OnItemClickListener, XRecyclerView.LoadingListener, OnBannerItemClickListener, RecyclerviewScrollLisetener,ArticleHomeClickLisener {    public static ConvenientBanner mConvenientBanner;    private List mHomePagePlatAdList;    private HomeAdapter mHomeAdapter;    private XRecyclerView mXrvProduct;    private SmartRefreshLayout refreshLayout;    private XRecyclerView xRecyclerView;    private ImageView iv_center;    private RelativeLayout rl_wallet;    private RelativeLayout rl_msg;    private TextView tv_msgnum;    private HomeBean.PopUpEntity popUp;    private TitleBar mTitleBar;    private TextView tv_statusBar_slide;     private BannerBgContainer container;    private LoopLayout loopLayout;    private int imageHeight;    private RelativeLayout rl_title;    private String longRiskUrl;    private String longCenterUrl;    private String longCenterUrl2;    private String longCenterNew;//新版     private String longCenterUrl3;    public static boolean canClick;    public static boolean canClick2;    private RelativeLayout rl_top;    private ImageView iv_search;    private String customerLevel;    public static String flag3;    public static String certifiedState;    public static String flag2;    private ImageView iv_contact;    private int duration;    public static boolean canClick3;    //    private MoveImage iv_contact2;    private TextView tv_245;    private TextView tv_247;    private TextView tv_chang_commit;    private EditText edit_logoin;    private EditText edit_screen;    private EditText edit_riyuebaohe;    private TextView tv_tinker;    private TextView tv_title;    private LinearLayout ll_search;    private ImageView iv_msg;    private int position;    private TextView tv_search;     private ImageView ivBannerHeadBg;    private int count;    private boolean isInit = true;    private List bannerList = new ArrayList<>();    private List colorList = new ArrayList<>();    private int mDistanceY;    private LinearLayoutManager layoutManager;    private int y;    private int height;    private String localVersion;    private String key;    private PopupWindow popWindow;    private boolean hidden2 = false;    private SFUtils sfUtils;    private List allData;    private List selData;    private ImageView iv_back_top;    private String localVersionLoad;    private RecyclerView recycler;    private /*ViewPagerForScrollView*/ ViewPager viewpager;    private SlidingTabLayout tl_9;    private Toolbar toolbar;    private List mTitles=new ArrayList<>();    private ArrayList mFragments = new ArrayList<>();    //    private MyPagerAdapter mAdapter;    private FragmentManager fragmentManager;    private View pagerview;    private SlidingTabLayout tab_head;    private MyScrollView scrollowview;    private int[] location2;    private int[] location3;    private int yrecycler;    private TextView tv_phone;    private TextView tv_email;    private ImageView iv_copy;    private AppBarLayout appbar;    private CoordinatorLayout main_content;    private CustomDialog dialog;    private boolean isFirstLay = true;    private List articleClassifyList;    private LinearLayout ll_tab;    private RelativeLayout ll_base;    public static SettingBean settingBean;    private CompanyBaseBean companyBaseBean;    private MyPagerAdapter mAdapter;    private boolean isRemind=false;//点文章不会到顶部其余都回到顶部    private boolean isSame=true;//是否有不同tab 判断后台增加或者减少tab刷新 否者不刷新tab方便记录点击位置    private boolean isFirstTab=true;//是否第一进入加载 第一次进入app时刷新tab 不是第一次需判断后台增加或者减少tab刷新 否者不刷新tab方便记录点击位置    private boolean isHoutai=false;    private int appbarState;    private boolean isOther=false;    private boolean isRemindTrue=false;      @Override    protected int getContentView() {        // 加载系统默认设置,字体不随用户设置变化        Resources res = mContext.getResources();        Configuration config = new Configuration();        config.setToDefaults();        res.updateConfiguration(config, res.getDisplayMetrics());         return R.layout./*fragment_home*/home_fragment_two;    }     @Override    protected void initTitleBar(View view) {//        mTitleBar = (TitleBar) view.findViewById(R.id.title_bar);//        mTitleBar.setTitle("");//        setStateBar();//        mTitleBar.setTitleBarBg(android.R.color.transparent);         /* mTitleBar.setLeftBackground(R.mipmap.home_left);        mTitleBar.setLeftClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (!isLogin()) {                    UIHelper.showLogin(mContext);                    return;                }                UserBean query = UserBeanDao.query();                UIHelper.showInvite(mContext, WebHttpParams.showInviting(query.customerImageUrl));//                ToastUtil.showToast(mContext, "分享");//                ((BaseActivity) getActivity())//                        .getShareAction("", "", "", "").open();            }        });        mTitleBar.setRightBackground(R.mipmap.home_right);        mTitleBar.setRightClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (!isLogin()) {                    UIHelper.showLogin(mContext);                    return;                }                UIHelper.showWebView(mContext, WebHttpParams.showMyNews());            }        });        mTitleBar.setTitleBarBg(android.R.color.transparent);*/          iv_search = (ImageView) view.findViewById(R.id.iv_search); //        rl_wallet = (RelativeLayout) view.findViewById(R.id.rl_wallet);//        rl_wallet.setOnClickListener(new View.OnClickListener() {//            @Override//            public void onClick(View view) {//                if (!isLogin()) {//                    UIHelper.showLogin(mContext);//                    return;//                }////                UserBean query = UserBeanDao.query();//                if (AccountUtils.isAuthentication(query.certifiedState)) {//                    UIHelper.showMyWallet(mContext);//                } else {//                    UIHelper.showWebView(mContext, WebHttpParams.showCredentials());//                }//            }//        });        rl_msg = (RelativeLayout) view.findViewById(R.id.rl_msg);        rl_msg.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if (!isLogin()) {                    UIHelper.showLogin(mContext);                    return;                }                UIHelper.showWebView2(mContext, WebHttpParams.showMyNews());            }        });        tv_msgnum = (TextView) view.findViewById(R.id.tv_msgnum); //        iv_center = (ImageView) view.findViewById(R.id.iv_center);        /*Animation anim = AnimationUtils.loadAnimation(mContext, R.anim.rotate);        LinearInterpolator lir = new LinearInterpolator();// 设置插入器(线性匀速)        anim.setInterpolator(lir);        iv_center.startAnimation(anim);*/ //        iv_center.setVisibility(View.VISIBLE);//        Animation anim =new RotateAnimation(0f, 360f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);//        anim.setFillAfter(true); // 设置保持动画最后的状态//        anim.setDuration(10000); // 设置动画时间//        anim.setInterpolator(new LinearInterpolator()); // 设置插入器(线性匀速)//        mTitleBar.startAnimation(anim);    }       @Override    public void initView(View view) {//        setFullScreen();//        changeStatusBarTextColor(true);//        BarUtils.setColorNoTranslucent(getActivity(), getResources().getColor(R.color.transparent));//        BarUtils.setRootViewFitsSystemWindows(getActivity(), false);//        //此方法上下状态栏都透明,状态栏字体颜色为黑色//        BarUtils.setTranslucentForCoordinatorLayout(getActivity(),0);        pagerview = view;        StatusBarUtil.setTranslucentStatus(getActivity());        StatusBarUtil.setStatusBarDarkTheme(getActivity(), false);         if (!EventManager.isRegistered(this)) {            EventManager.register(this);        }        tv_tinker = (TextView) view.findViewById(R.id.tv_tinker);        tv_245 = (TextView) view.findViewById(R.id.tv_245);        tv_247 = (TextView) view.findViewById(R.id.tv_247);        tv_chang_commit = (TextView) view.findViewById(R.id.tv_chang_commit);        edit_logoin = (EditText) view.findViewById(R.id.edit_logoin);        edit_screen = (EditText) view.findViewById(R.id.edit_screen);        edit_riyuebaohe = (EditText) view.findViewById(R.id.edit_riyuebaohe);        tv_title = (TextView) view.findViewById(R.id.tv_title);        ll_search = (LinearLayout) view.findViewById(R.id.ll_search);        iv_msg = (ImageView) view.findViewById(R.id.iv_msg);        rl_top = (RelativeLayout) view.findViewById(R.id.rl_top);        iv_contact = (ImageView) view.findViewById(R.id.iv_contact);        tv_search = (TextView) view.findViewById(R.id.tv_search);        iv_back_top = (ImageView) view.findViewById(R.id.iv_back_top);        recycler = (RecyclerView) view.findViewById(R.id.recycler);//        refreshLayout = (SmartRefreshLayout) view.findViewById(R.id.refreshLayout);        viewpager = (ViewPager) view.findViewById(R.id.viewpager);        tl_9 = (SlidingTabLayout) view.findViewById(R.id.tl_9);        toolbar = (Toolbar) view.findViewById(R.id.toolbar);        appbar = (AppBarLayout) view.findViewById(R.id.appbar);//        tab_head=(SlidingTabLayout)view.findViewById(R.id.tab_head);//        scrollowview=(MyScrollView) view.findViewById(R.id.scrollowview);         tv_phone = (TextView) view.findViewById(R.id.tv_phone);        tv_email = (TextView) view.findViewById(R.id.tv_email);        iv_copy = (ImageView) view.findViewById(R.id.iv_copy);        main_content = (CoordinatorLayout) view.findViewById(R.id.main_content);        ll_tab = (LinearLayout) view.findViewById(R.id.ll_tab);        ll_base = (RelativeLayout) view.findViewById(R.id.ll_base);        edit_riyuebaohe.setText(flag + "");        tv_title.setTextColor(mContext.getResources().getColor(R.color.white));        ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.yuanjiao24whire));        iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_white));        rl_top.setBackgroundColor(Color.argb((int) 0, 255, 255, 255));//AGB由相关工具获得,或者美工提供        ArticleHomeFragment.setScrollListener(this);        ArticleHomeFragment.setArticleListener(this);        Constants.isHoutai=false;         mAdapter = new MyPagerAdapter(getActivity().getSupportFragmentManager());         mXrvProduct = (XRecyclerView) view.findViewById(R.id.xrv_product);        mXrvProduct.setLoadingMoreEnabled(false);         mXrvProduct.setPullRefreshEnabled(true);        mXrvProduct.setLoadingListener(this);        mXrvProduct.setArrowImageView(R.mipmap.iconfont_downgrey);        mXrvProduct.setRefreshProgressStyle(ProgressStyle.SysProgress);        mXrvProduct.setNestedScrollingEnabled(true);         final View headerView = mInflater.inflate(R.layout.fragment_home_banner/*fragmen_home_header*/, (ViewGroup) view.findViewById(android.R.id.content), false);        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);        layoutParams.gravity = Gravity.CENTER_HORIZONTAL;        headerView.setLayoutParams(layoutParams);         container = (BannerBgContainer) headerView.findViewById(R.id.banner_bg_container);        loopLayout = (LoopLayout) headerView.findViewById(R.id.loop_layout);        //状态栏高度        int statusBarHeight = 0;        int resourceId = getResources().getIdentifier("status_bar_height", "dimen",                "android");        if (resourceId > 0) {            statusBarHeight = getResources().getDimensionPixelSize(resourceId);        }        //屏幕高度        DisplayMetrics dm = mContext.getApplicationContext().getResources().getDisplayMetrics();         final float scale = dm.density;        int i = (int) (54 * scale + 0.5f) + DensityUtil.dp2px(100); //        //获取当前控件的布局对象        ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) container.getLayoutParams();        params.width = getScreenWidth();//设置当前控件布局的宽度        params.height = getScreenWidth() * 1 / 2;//设置当前控件布局的高度        container.setLayoutParams(params);//将设置好的布局参数应用到控件中         layoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false);         mXrvProduct.setLayoutManager(layoutManager);        mXrvProduct.addHeaderView(headerView);        mHomeAdapter = new HomeAdapter(mContext, getActivity().getSupportFragmentManager(), getActivity(), dm.heightPixels - statusBarHeight - i + DensityUtil.dip2px(mContext, 50));        mXrvProduct.setAdapter(mHomeAdapter);          // 设置轮播图属性        loopLayout.setLoop_ms(4000);//轮播的速度(毫秒)        loopLayout.setLoop_duration(400);//滑动的速率(毫秒)        loopLayout.setScaleAnimation(false);// 设置是否需要动画        loopLayout.setLoop_style(LoopStyle.Empty);//轮播的样式-默认empty        loopLayout.setIndicatorLocation(IndicatorLocation.Center);//指示器位置-中Center        loopLayout.initializeData(mContext);          // 设置监听        loopLayout.setOnLoadImageViewListener(new OnDefaultImageViewLoader() {            @Override            public void onLoadImageView(ImageView view, Object object, int point) {              /*  Glide.with(view.getContext())                        .load(object)                        .into(view);*/                Glide.with(mContext)                        .load(object)                        .apply(new RequestOptions().transforms(new CenterCrop(), new RoundedCorners(DensityUtil.dp2px(12))))                        .into(view);                 LogUtil2.log("position--" + point + "");             }         });         loopLayout.setOnBannerItemClickListener(this);         setScroll();          RequestOptions options = new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE);//只缓存最终的图片        //!isDestroy(getActivity()        if (getActivity() != null) {            Glide.with(getActivity()).load(R.mipmap.jingzhi)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.apply(options).into(iv_contact);        }         iv_contact.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                 if (!AccountUtils.isLogin()) {                    UIHelper.showLogin(mContext);                    return;                }                 SobotUtils.startSobot(getActivity());            }        });        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {            RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) rl_top.getLayoutParams();            layoutParams2.height = dip2px(getActivity(), 80);            rl_top.setLayoutParams(layoutParams2);         } else {            RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) rl_top.getLayoutParams();            layoutParams2.height = dip2px(getActivity(), 70);            rl_top.setLayoutParams(layoutParams2);        }          imageHeight = dip2px(getActivity(), 200);        rl_title = (RelativeLayout) view.findViewById(R.id.rl_title);        initListeners();     }     public void setScroll() {         main_content.setOnTouchListener(new View.OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEvent event) {                switch (event.getAction()) {                    case MotionEvent.ACTION_DOWN:                        Log.i("滚动高度--tt", "按下");                        if (getActivity() != null) {                            Glide.with(getActivity()).load(R.mipmap.huadong2)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                            new Handler().postDelayed(new Runnable() {                                @Override                                public void run() {                                    Glide.with(getActivity()).load(R.mipmap.jingzhi)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                                }                            }, 1500);                        }                        break;                    case MotionEvent.ACTION_MOVE:                        Log.i("滚动高度--tt", "移动");                        if (getActivity() != null) {                            Glide.with(getActivity()).load(R.mipmap.huadong)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                        }                        break;                    case MotionEvent.ACTION_UP:                        Log.i("滚动高度--tt", "抬起");                        break;                }                return false;            }        });        appbar.addOnOffsetChangedListener(new AppBarStateChangeListener() {            @Override            public void onStateChanged(AppBarLayout appBarLayout, State state) {                 if (state == State.EXPANDED) {                     Log.i("滚动高度--", "展开");                  } else if (state == State.COLLAPSED) {                     Log.i("滚动高度--", "折叠");                     setpopLoad();                } else {                      Log.i("滚动高度--", "中间");                 }            }        });        appbar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {            @Override            public void onOffsetChanged(AppBarLayout appBarLayout, int i) {                height = dip2px(mContext, 170);                y = Math.abs(i);                int alpha = 255 * y / (height);                if (alpha > 255) {                    alpha = 255;                }                if (alpha < 5) {                    alpha = 0;                }                 LogUtil2.log("滑动高度--off" + y + "--" + height + "--");                if (y <= height) {                    tv_title.setTextColor(mContext.getResources().getColor(R.color.white));                    ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.yuanjiao24whire));                    iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_white));                    rl_top.setBackgroundColor(Color.argb((int) 0, 255, 255, 255));//AGB由相关工具获得,或者美工提供                     StatusBarUtil.setStatusBarDarkTheme(getActivity(), false);                } else if (y > height && y < height * 1.5) {                    rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                    tv_title.setTextColor(mContext.getResources().getColor(R.color.text_000000));                    ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.shape_search_product));                    iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_black));                    rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                    rl_top.setBackgroundColor(Color.argb((int) 127, 255, 255, 255));                     StatusBarUtil.setStatusBarDarkTheme(getActivity(), true);                } else if (y > height * 1.5) {                    rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                    tv_title.setTextColor(mContext.getResources().getColor(R.color.text_000000));                    ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.shape_search_product));                    iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_black));                    rl_top.setBackgroundColor(Color.argb((int) 255, 255, 255, 255));                     StatusBarUtil.setStatusBarDarkTheme(getActivity(), true);                }            }        });        mXrvProduct.addOnScrollListener(new RecyclerView.OnScrollListener() {            @Override            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {                super.onScrolled(recyclerView, dx, dy);                LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();                //获取当前可见条目得索引                int firstVisibleItemPosition = manager.findFirstVisibleItemPosition();                int lastVisibleItemPosition = manager.findLastCompletelyVisibleItemPosition();                 //获取当前可见条目得itemView                View firstView = manager.findViewByPosition(firstVisibleItemPosition);                //获取当前可见条目得itemView得高度                height = firstView.getHeight();                //获取当前可见条目得偏移量                y = (firstVisibleItemPosition) * height - firstView.getTop();                 int alpha = 255 * y / (height);                if (alpha > 255) {                    alpha = 255;                }                if (alpha < 5) {                    alpha = 0;                }                 float scale = (float) dy / height;                float alphat = (255 * scale);                LogUtil2.log("滑动高度--" + y + "--" + height + "--");                if (y == height) {                    tv_title.setTextColor(mContext.getResources().getColor(R.color.white));                    ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.yuanjiao24whire));                    iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_white));                    rl_top.setBackgroundColor(Color.argb((int) 0, 255, 255, 255));//AGB由相关工具获得,或者美工提供                    StatusBarUtil.setStatusBarDarkTheme(getActivity(), false);                } else if (y > height && y < height * 1.5) {                    rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                    tv_title.setTextColor(mContext.getResources().getColor(R.color.text_000000));                    ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.shape_search_product));                    iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_black));                    rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                    rl_top.setBackgroundColor(Color.argb((int) 127, 255, 255, 255));                    StatusBarUtil.setStatusBarDarkTheme(getActivity(), true);                } else if (y > height * 1.5) {                    rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                    tv_title.setTextColor(mContext.getResources().getColor(R.color.text_000000));                    ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.shape_search_product));                    iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_black));                    rl_top.setBackgroundColor(Color.argb((int) 255, 255, 255, 255));                     StatusBarUtil.setStatusBarDarkTheme(getActivity(), true);                }              }        });     }       public void setpopLoad() {        try {            localVersionLoad = Utils.getVersionName(mContext);        } catch (Exception e) {            e.printStackTrace();        }         key = "show_home_load" + localVersion;        LogUtil2.log("=========================>>>key" + key);        LogUtil2.log("=========================>>>AccountUtils.getVersioncode()" + AccountUtils.getVersioncode());        //是否是安装的第一次        if (!AccountUtils.getVersioncodeHomeLoad().equals(key)) {            AccountUtils.putVersioncodeHomeLoad(key);              dialog = new CustomDialog(mContext, R.layout.pop_home_load, R.style.CustomDialogTheme);            dialog.setCancelable(false);            dialog.setCanceledOnTouchOutside(false);             ImageView iv_one_button = (ImageView) dialog.findViewById(R.id.iv_one_button);             iv_one_button.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    // TODO Auto-generated method stub                    dialog.dismiss();                 }            });            dialog.show();        }     }      private void changeStatusBarTextColor(boolean isBlack) {        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {            if (isBlack) {                getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);//设置状态栏黑色字体            } else {                getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);//恢复状态栏白色字体            }        }    }     /**     * 判断是否是全面屏     */    private volatile static boolean mHasCheckAllScreen;    private volatile static boolean mIsAllScreenDevice;     public static boolean isAllScreenDevice(Context context) {        if (mHasCheckAllScreen) {            return mIsAllScreenDevice;        }        mHasCheckAllScreen = true;        mIsAllScreenDevice = false;        // 低于 API 21的,都不会是全面屏。。。        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {            return false;        }        WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);        if (windowManager != null) {            Display display = windowManager.getDefaultDisplay();            Point point = new Point();            display.getRealSize(point);            float width, height;            if (point.x < point.y) {                width = point.x;                height = point.y;            } else {                width = point.y;                height = point.x;            }            if (height / width >= 1.97f) {                mIsAllScreenDevice = true;            }        }        return mIsAllScreenDevice;    }     private int dip2px(Context context, float dipValue) {        Resources r = context.getResources();        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, r.getDisplayMetrics());    }     //判断Activity是否Destroy    public static boolean isDestroy(Activity activity) {        if (activity == null || activity.isFinishing() || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && activity.isDestroyed())) {            return true;        } else {            return false;        }    }     private void initListeners() {        mXrvProduct.addOnScrollListener(new RecyclerView.OnScrollListener() {            @Override            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {                super.onScrollStateChanged(recyclerView, newState);                switch (newState) {                    case 0:                        LogUtil2.log("recyclerview已经停止滚动");                         if (getActivity() != null) {                            Glide.with(getActivity()).load(R.mipmap.huadong2)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                            new Handler().postDelayed(new Runnable() {                                @Override                                public void run() {                                    Glide.with(getActivity()).load(R.mipmap.jingzhi)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                                }                            }, 1500);                        } //                        Glide.with(getActivity()).load(R.mipmap.jingzhi).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(iv_contact);                        break;                    case 1:                        LogUtil2.log("recyclerview正在被拖拽");                         if (getActivity() != null) {                            Glide.with(getActivity()).load(R.mipmap.huadong)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                        }                          break;                    case 2:                        LogUtil2.log("recyclerview正在依靠惯性滚动");                         if (getActivity() != null) {                            Glide.with(getActivity()).load(R.mipmap.huadong)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                        }                        break;                }            }             @Override            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {                super.onScrolled(recyclerView, dx, dy);             }        });     }     @Override    public void initData() {        super.initData();    }      @Override    public void onResume() {        super.onResume();     }      /**     * IMEI 全称�?International Mobile Equipment Identity,中文翻译为国际移动装备辨识码, 即�?常所说的手机序列号,     * 用于在手机网络中识别每一部独立的手机,是国际上公认的手机标志序号,相当于移动电话的身份证。序列号共有15位数字,�?位(TAC)是型号核准号码�?     * 代表手机类型。接�?位(FAC)是�?��装配号,代表产地。后6位(SNR)是串号,代表生产顺序号。最�?位(SP)一般为0,是�?��码,备用�?     * 国际移动装备辨识码一般贴于机身背面与外包装上,同时也存在于手机记忆体中,通过输入*#06#即可查询�?     *     * @param     * @return     */     @Override    public void onHiddenChanged(boolean hidden) {        super.onHiddenChanged(hidden);        if (!hidden) {            hidden2 = hidden;            LogUtil2.log("==========================>>>onHiddenChangedHome" + hidden);              loopLayout.stopLoop();// 页面销毁时需要停止            loopLayout.startLoop();            StatusBarUtil.setTranslucentStatus(getActivity());            if (y <= height) {                tv_title.setTextColor(mContext.getResources().getColor(R.color.white));                ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.yuanjiao24whire));                iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_white));                rl_top.setBackgroundColor(Color.argb((int) 0, 255, 255, 255));//AGB由相关工具获得,或者美工提供                 StatusBarUtil.setStatusBarDarkTheme(getActivity(), false);            } else if (y > height && y < height * 1.5) {                rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                tv_title.setTextColor(mContext.getResources().getColor(R.color.text_000000));                ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.shape_search_product));                iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_black));                rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                rl_top.setBackgroundColor(Color.argb((int) 127, 255, 255, 255));//                        changeStatusBarTextColor(false);//                        BarUtils.setColorNoTranslucent(getActivity(), getResources().getColor(R.color.transparent));//                        BarUtils.setRootViewFitsSystemWindows(getActivity(), false);                StatusBarUtil.setStatusBarDarkTheme(getActivity(), true);            } else if (y > height * 1.5) {                rl_top.setBackgroundColor(mContext.getResources().getColor(R.color.white));                tv_title.setTextColor(mContext.getResources().getColor(R.color.text_000000));                ll_search.setBackground(mContext.getResources().getDrawable(R.drawable.shape_search_product));                iv_msg.setBackground(mContext.getResources().getDrawable(R.mipmap.home_message_black));                rl_top.setBackgroundColor(Color.argb((int) 255, 255, 255, 255));//                        changeStatusBarTextColor(true);//                        BarUtils.setColorNoTranslucent(getActivity(), getResources().getColor(R.color.transparent));//                        BarUtils.setRootViewFitsSystemWindows(getActivity(), false);                StatusBarUtil.setStatusBarDarkTheme(getActivity(), true);            }         } else {            hidden2 = hidden;            LogUtil2.log("==========================>>>onHiddenChanged" + hidden);            loopLayout.stopLoop();// 页面销毁时需要停止            mHomeAdapter.setIsStop(true);        }    }     @Override    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {        if (requestCode == 1000) {            if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {                UserBean query = UserBeanDao.query();             } else {                Toast.makeText(mContext, "手机IMEI权限未开启!", Toast.LENGTH_LONG).show();            }        }    }     public boolean checkIme() {        int permissionCheck = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_PHONE_STATE);         if (permissionCheck != PackageManager.PERMISSION_GRANTED) {            ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission.READ_PHONE_STATE}, 1000);            return false;        } else {            //TODO            return true;        }    }     @Override    protected void initListener() {        super.initListener();        iv_back_top.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                appbar.setExpanded(true, false);                iv_back_top.setVisibility(View.GONE);                EventManager.post(new RefreshHomeArticleEvent());            }        });        ll_search.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if (!isLogin()) {                    UIHelper.showLogin(mContext);                    return;                }                 UIHelper.showProductSearch(mContext);            }        });       }      @Override    protected void onSuccess(String response, int id) {        super.onSuccess(response, id);        switch (id) {            case 100:                LogUtil2.log("=========================>>>100" + response.toString());                mXrvProduct.refreshComplete();//                refreshLayout.finishRefresh(2000/*,false*/);//传入false表示刷新失败                HomeBean homeBean = GsonUtils.toObject(response, HomeBean.class);                mHomePagePlatAdList = homeBean.homePagePlatAdList;                if (null != mHomePagePlatAdList && !mHomePagePlatAdList.isEmpty()) {                     setBannerLoop(mHomePagePlatAdList);                 }                 break;             case 600://精选产品                setRecommendData(response);                break;             case 700:                LogUtil2.log("=========================>>>700" + response.toString());                setHomeBeanADV(response);                break;            case 800://提醒中心                setHomeBeanRemind(response);                break;            case 601://云学院推荐橱窗列表                setRecommendDatas(response);                break;             case 603:                RecommendListBean recommendListBean = GsonUtils.toObject(response, RecommendListBean.class);                if (recommendListBean.recommendList != null) {                    if (recommendListBean.recommendList.size() > 0) {                        tv_search.setText(recommendListBean.recommendList.get(0));                    }                 }                break;            case 604://滚动头条                LogUtil2.log("首页文章--滚动条" + response.toString());                setHomeAdviance(response);                break;            case 605://文章标题                LogUtil2.log("首页文章--文章标题" + response.toString());                ll_tab.setVisibility(View.VISIBLE);                setHomeArticle(response);                 break;         }    }     private void setHomeArticle(String response) {        if (TextUtils.isEmpty(response)) {            return;        }         final FindClassifysBean bean = GsonUtils.toObject(response, FindClassifysBean.class);        if (bean!=null){             if (!isFirstTab) {                if (articleClassifyList != null && bean.articleClassifyList.size() == articleClassifyList.size()) {                    for (int i = 0; i < bean.articleClassifyList.size(); i++) {                        for (int j = 0; j < articleClassifyList.size(); j++) {                            if (bean.articleClassifyList.get(i).uuid.equals(articleClassifyList.get(j).uuid)) {                                isSame = false;                            }                        }                     }                }             }            LogUtil2.log("第一次加载--"+isSame+"---"+isFirstTab+"--"+isRemind+"---"+isHoutai);            if (isRemind) {                isRemind=false;                if (!isSame) {                    isSame = true;                    return;                }            }else {                  appbar.setExpanded(true, false);                iv_back_top.setVisibility(View.GONE);            }         }          isFirstTab=false;        articleClassifyList = bean.articleClassifyList; //        mHomeAdapter.setHomeArticle(bean);        if (bean.articleClassifyList != null && bean.articleClassifyList.size() > 0) {            mFragments.clear();            mTitles.clear();            for (int i = 0; i < bean.articleClassifyList.size(); i++) {                ArticleClassifyListBean bean2 = bean.articleClassifyList.get(i);                 mTitles.add(bean2.name);                Bundle b = new Bundle();                b.putSerializable("bean", bean.articleClassifyList.get(i));                b.putInt("positionClick", i);                b.putSerializable("company",companyBaseBean);                Fragment f = new ArticleHomeFragment()/*ArticleHomeFragment()*/;                f.setArguments(b);                mFragments.add(f);            }            if (getActivity() != null) {                 viewpager.setAdapter(mAdapter);                tl_9.setViewPager(viewpager,mTitles);                tl_9.setCurrentTab(0);                viewpager.setCurrentItem(0);                 setTab();                if (!isFirstLay){                    LogUtil2.log("刷新--");                    mAdapter.setNewFragments();                }                 isFirstLay = false;             }        }      }     @Override    public void onPause() {        super.onPause();        Log.i("滚动高度--onPause", "展开");    }     @Override    public void onStop() {        super.onStop();        Log.i("滚动高度--onStop", "展开");        if (isRemind){            isOther=true;        }        if (appbarState == 1) {            Log.i("滚动高度--", "展开");            //展开状态         } else if (appbarState == 2) {            Log.i("滚动高度--", "折叠");            //折叠状态         }  else if (appbarState ==3){             Log.i("滚动高度--", "中间");            //中间状态         }    }     public void setTab() {          tl_9.setTextUnselectColor(getResources().getColor(R.color.text_000000));        tl_9.setTextSelectColor(getResources().getColor(R.color.white));        tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_1A75FF));        tl_9.setOnTabSelectListener(new OnTabSelectListener() {            @Override            public void onTabSelect(int position) {                if (position % 9 == 0) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_1A75FF));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_1A75FF));                } else if (position % 9 == 1) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_F05F12));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_F05F12));                } else if (position % 9 == 2) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_DD8033));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_DD8033));                } else if (position % 9 == 3) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_14BEDF));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_14BEDF));                } else if (position % 9 == 4) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_2B2EF5));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_2B2EF5));                } else if (position % 9 == 5) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_EEB01F));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_EEB01F));                } else if (position % 9 == 6) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_E92A4B));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_E92A4B));                } else if (position % 9 == 7) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_00C99E));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_00C99E));                } else if (position % 9 == 8) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_299BF5));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_299BF5));                }            }             @Override            public void onTabReselect(int position) {             }        });        viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int i, float v, int i1) {             }             @Override            public void onPageSelected(int position) {//            tab_head.setCurrentTab(position);//                if (!isFirstLay){                if (mFragments != null && mFragments.size() > 0 && articleClassifyList != null && articleClassifyList.size() > 0) {                    ArticleHomeFragment fragment = (ArticleHomeFragment) mFragments.get(position);                    fragment.setRefresh(position, articleClassifyList.get(position));                }//                }//                if (position % 9 == 0) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_1A75FF));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_1A75FF));                } else if (position % 9 == 1) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_F05F12));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_F05F12));                } else if (position % 9 == 2) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_DD8033));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_DD8033));                } else if (position % 9 == 3) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_14BEDF));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_14BEDF));                } else if (position % 9 == 4) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_2B2EF5));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_2B2EF5));                } else if (position % 9 == 5) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_EEB01F));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_EEB01F));                } else if (position % 9 == 6) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_E92A4B));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_E92A4B));                } else if (position % 9 == 7) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_00C99E));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_00C99E));                } else if (position % 9 == 8) {                    tl_9.setIndicatorColor(mContext.getResources().getColor(R.color.name_299BF5));//                tab_head.setIndicatorColor(mContext.getResources().getColor(R.color.name_299BF5));                }             }             @Override            public void onPageScrollStateChanged(int i) {             }        });       }     @Override    public void onClickArticle(boolean isremind) {        LogUtil2.log("isRemind----"+isremind);        isRemind=isremind;    }     private class MyPagerAdapter extends FragmentPagerAdapter {         private List tags;//标示fragment的tag        private FragmentManager fragmentManager;         public MyPagerAdapter(FragmentManager fm) {            super(fm);            this.tags = new ArrayList<>();            this.fragmentManager = fm;        }//        public MyPagerAdapter(FragmentManager fm) {//            super(fm);//        }         @Override        public int getCount() {            return mFragments.size();        }         @Override        public CharSequence getPageTitle(int position) {            return mTitles.get(position);        }         @Override        public Fragment getItem(int position) {            return mFragments.get(position);        }         @Override        public int getItemPosition(@NonNull Object object) {            return POSITION_NONE;        }        //这个就不说了        private String makeFragmentName(int viewId, long id) {            return "android:switcher:" + viewId + ":" + id;        }        @NonNull        @Override        public Object instantiateItem(@NonNull ViewGroup container, int position) {            tags.add(makeFragmentName(container.getId(), getItemId(position)));            Fragment fragment = (Fragment) super.instantiateItem(container, position);            this.fragmentManager.beginTransaction().show(fragment).commitAllowingStateLoss();            return fragment;        }        //根据tag查找缓存的fragment,移除缓存的fragment,替换成新的        public void setNewFragments() {            if (this.tags != null) {                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();                for (int i = 0; i < tags.size(); i++) {                    fragmentTransaction.remove(fragmentManager.findFragmentByTag(tags.get(i)));                }                fragmentTransaction.commitAllowingStateLoss();                fragmentManager.executePendingTransactions();                tags.clear();            }            notifyDataSetChanged();        }    }     private void setBannerLoop(List mHomePagePlatAdList) {        // 准备数据        ArrayList bannerInfos = new ArrayList<>();        List bgList = new ArrayList<>();        for (int i = 0; i < mHomePagePlatAdList.size(); i++) {            bannerInfos.add(new BannerInfo(mHomePagePlatAdList.get(i).imageUrl, mHomePagePlatAdList.get(i).url));            bgList.add(mHomePagePlatAdList.get(i).imageColour);        }         if (bannerInfos.size() == 0) {            return;        }        if (bgList.size() == 0) {            return;        }        loopLayout.setLoopData(bannerInfos);// 设置轮播数据        if (bgList != null && mContext != null) {            container.setBannerBackBg(mContext, bgList);// 背景容器设置轮播图片        }        loopLayout.setBannerBgContainer(container);        loopLayout.stopLoop();        loopLayout.startLoop();    }     private void setRecommendDatas(String response) {        if (TextUtils.isEmpty(response)) {            return;        }        FaXianListsBean bean = GsonUtils.toObject(response, FaXianListsBean.class);//        KeChengRecommendsBean recommendsBean=bean.courseRecommends.get(0);        mHomeAdapter.setHomeKeCheng(bean);    }     public static  List getObjectList(String jsonString, Class cls) {        List list = new ArrayList();        try {            Gson gson = new Gson();            JsonArray arry = new JsonParser().parse(jsonString).getAsJsonArray();            for (JsonElement jsonElement : arry) {                list.add(gson.fromJson(jsonElement, cls));            }        } catch (Exception e) {            e.printStackTrace();        }        return list;    }     private void setRecommendData(String response) {        if (TextUtils.isEmpty(response)) {            return;        }        HomeProductBean homeProductBean = GsonUtils.toObject(response, HomeProductBean.class);//        List homeBean =/*GsonUtils.toList*/getObjectList(response, HomeBottomProductBean.class);         mHomeAdapter.setHomeBean(homeProductBean);    }     private void setHomeBeanADV(String response) {        HomeBean homeBean2 = GsonUtils.toObject(response, HomeBean.class);        mHomeAdapter.setHomeBeanADV(homeBean2);    }     private void setHomeBeanRemind(String response) {        if (TextUtils.isEmpty(response)) {            return;        }        final KaoShiStatussBean bean = GsonUtils.toObject(response, KaoShiStatussBean.class);        mHomeAdapter.setHomeRemind(bean);    }     private void setHomeAdviance(String response) {        if (TextUtils.isEmpty(response)) {            return;        }         final HeadHomeBean bean = GsonUtils.toObject(response, HeadHomeBean.class);         mHomeAdapter.setHomeAdviance(bean);    }       @Override    public void onTabReselect() {        LogUtil.e(LogUtil.CQ, "onTabReselect HomeFragment");    }      /**     * 生成一个0 到 count 之间的随机数     *     * @param endNum     * @return     */    public int getNum(int endNum) {        if (endNum > 0) {            Random random = new Random();            return random.nextInt(endNum);        }        return 0;    }     /**     * banner点击事件     *     * @param position position     */    @Override    public void onItemClick(int position) {    }     @Override    public void onDestroy() {        super.onDestroy();        EventManager.unregister(this);        loopLayout.stopLoop();// 页面销毁时需要停止        mHomeAdapter.setIsStop(true);         if(iv_contact != null &&  !getActivity().isDestroyed()){            Glide.with(getContext()).clear(iv_contact);            iv_contact = null;        }    }     @Override    public void onDestroyView() {        super.onDestroyView();     }     public static SetOnclickInterface listenersTOP;      @Override    public void onRefresh() {    }     @Override    public void onLoadMore() {     }     /**     * banner滚动轮播     *     * @param position     * @param banner     */    @Override    public void onBannerClick(int position, ArrayList banner) {     }     @Override    public void onChildScroll(RecyclerView recyclerView, int newState) {        switch (newState) {            case 0:                LogUtil2.log("recyclerview已经停止滚动");                 if (getActivity() != null) {                    Glide.with(getActivity()).load(R.mipmap.huadong2)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                    new Handler().postDelayed(new Runnable() {                        @Override                        public void run() {                            Glide.with(getActivity()).load(R.mipmap.jingzhi)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                        }                    }, 1500);                }                 break;            case 1:                LogUtil2.log("recyclerview正在被拖拽");                 if (getActivity() != null) {                    Glide.with(getActivity()).load(R.mipmap.huadong)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                }                 break;            case 2:                LogUtil2.log("recyclerview正在依靠惯性滚动");                 if (getActivity() != null) {                    Glide.with(getActivity()).load(R.mipmap.huadong)/*.asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE)*/.into(iv_contact);                }                break;        }    } }

感谢各位的阅读!关于"如何使用Android实现上拉吸顶效果"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0