admin
2021-06-08 cca287441f277a3049cc280ae0d1e622d99d22ef
app/src/main/java/com/tejia/lijin/app/ui/main/RecommendTopFragment.java
@@ -10,10 +10,12 @@
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextPaint;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
@@ -53,6 +55,7 @@
import com.tejia.lijin.app.ui.mine.ShoppingTrolleyActivity;
import com.tejia.lijin.app.ui.recommend.RecommendCategoryFragment;
import com.tejia.lijin.app.ui.recommend.SearchActivity;
import com.tejia.lijin.app.ui.subview.HomeRecommendNavIndicator;
import com.tejia.lijin.app.updateApp.UpdateApp;
import com.tejia.lijin.app.util.JumpActivityUtil;
import com.tejia.lijin.app.util.SystemParamsUtil;
@@ -69,16 +72,20 @@
import com.wpc.library.util.NetUtils;
import com.wpc.library.util.SystemCommon;
import com.wpc.library.util.cache.DiskLruCache;
import com.wpc.library.util.common.DimenUtils;
import com.wpc.library.util.common.StorageUtils;
import com.wpc.library.util.common.StringUtils;
import com.tejia.lijin.app.ui.recommend.RecommendFragment;
import net.lucode.hackware.magicindicator.MagicIndicator;
import net.lucode.hackware.magicindicator.ViewPagerHelper;
import net.lucode.hackware.magicindicator.buildins.UIUtil;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ClipPagerTitleView;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.CommonPagerTitleView;
import org.apache.http.Header;
@@ -375,6 +382,114 @@
    }
    private CommonNavigatorAdapter n1 = new CommonNavigatorAdapter() {
        @Override
        public int getCount() {
            return mList == null ? 0 : mList.size();
        }
        @Override
        public IPagerTitleView getTitleView(final Context context, final int index) {
            CommonPagerTitleView commonPagerTitleView = new CommonPagerTitleView(getContext());
            //设置自定义布局文件及view赋值
            commonPagerTitleView.setContentView(R.layout.item_recommend_nav);
            commonPagerTitleView.setHovered(false);
            final TextView tvTitle = commonPagerTitleView.findViewById(R.id.tv_title);
            tvTitle.setHighlightColor(context.getResources().getColor(android.R.color.transparent));
            tvTitle.setText(mList.get(index).getName());
            tvTitle.setBackground(null);
            //tab切换监听
            commonPagerTitleView.setOnPagerTitleChangeListener(new CommonPagerTitleView.OnPagerTitleChangeListener() {
                @Override
                public void onSelected(int index, int totalCount) {
                    tvTitle.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
                }
                @Override
                public void onDeselected(int index, int totalCount) {
                    tvTitle.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
                }
                @Override
                public void onLeave(int index, int totalCount, float leavePercent, boolean leftToRight) {
                }
                @Override
                public void onEnter(int index, int totalCount, float enterPercent, boolean leftToRight) {
                }
            });
            //tab单个item点击事件监听
            commonPagerTitleView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    pager.setCurrentItem(index);
                }
            });
            return commonPagerTitleView;
        }
        //此为tab指示器回调
        @Override
        public IPagerIndicator getIndicator(Context context) {
            int height = magic_indicator.getLayoutParams().height; //UIUtil.dip2px(context, 40);
            HomeRecommendNavIndicator indicator = new HomeRecommendNavIndicator(context);
            float navigatorHeight = DimenUtils.sp2px(context, 25); //context.getResources().getDimension(R.dimen.dp_130);
            float borderWidth = UIUtil.dip2px(context, 1);
            float lineHeight = navigatorHeight - 2 * borderWidth;
            indicator.setLineHeight(lineHeight);
            indicator.setRoundRadius(lineHeight / 2);
            indicator.setXOffset(UIUtil.dip2px(context, 5));
            indicator.setYOffset((height - navigatorHeight) / 2);
            indicator.setColors(Color.parseColor("#FFFFFF"));
            return indicator;
        }
    };
    private CommonNavigatorAdapter n2 = new CommonNavigatorAdapter() {
        @Override
        public int getCount() {
            return mList == null ? 0 : mList.size();
        }
        @Override
        public IPagerTitleView getTitleView(Context context, final int index) {
            ClipPagerTitleView clipPagerTitleView = new ClipPagerTitleView(context);
            clipPagerTitleView.setText(mList.get(index).getName());
            clipPagerTitleView.setTextColor(Color.parseColor("#FFFFFF"));
            clipPagerTitleView.setClipColor(Color.WHITE);
            clipPagerTitleView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    pager.setCurrentItem(index);
                }
            });
            return clipPagerTitleView;
        }
        //此为tab指示器回调
        @Override
        public IPagerIndicator getIndicator(Context context) {
            int height = magic_indicator.getLayoutParams().height; //UIUtil.dip2px(context, 40);
            LinePagerIndicator indicator = new LinePagerIndicator(context);
            float navigatorHeight = DimenUtils.sp2px(context, 25); //context.getResources().getDimension(R.dimen.dp_130);
            float borderWidth = UIUtil.dip2px(context, 1);
            float lineHeight = navigatorHeight - 2 * borderWidth;
            indicator.setLineHeight(lineHeight);
            indicator.setRoundRadius(lineHeight / 2);
            indicator.setYOffset((height - navigatorHeight) / 2);
            indicator.setColors(Color.parseColor("#bc2a2a"));
            return indicator;
        }
    };
    private void loadHomeNavData() {
        if (adapter == null) {
@@ -390,67 +505,7 @@
        if (commonNavigator == null) {
            commonNavigator = new CommonNavigator(getContext());
            commonNavigator.setAdapter(new CommonNavigatorAdapter() {
                @Override
                public int getCount() {
                    return mList == null ? 0 : mList.size();
                }
                @Override
                public IPagerTitleView getTitleView(Context context, final int index) {
                    CommonPagerTitleView commonPagerTitleView = new CommonPagerTitleView(getContext());
                    //设置自定义布局文件及view赋值
                    commonPagerTitleView.setContentView(R.layout.item_recommend_nav);
                    final TextView tvTitle = commonPagerTitleView.findViewById(R.id.tv_title);
                    tvTitle.setText(mList.get(index).getName());
                    //tab切换监听
                    commonPagerTitleView.setOnPagerTitleChangeListener(new CommonPagerTitleView.OnPagerTitleChangeListener() {
                        @Override
                        public void onSelected(int index, int totalCount) {
                            tvTitle.setBackground(getResources().getDrawable(R.drawable.shape_recommend_nav_highlight_bg));
                            TextPaint paint = tvTitle.getPaint();
                            paint.setFakeBoldText(true);
                        }
                        @Override
                        public void onDeselected(int index, int totalCount) {
                            tvTitle.setBackground(null);
                            TextPaint paint = tvTitle.getPaint();
                            paint.setFakeBoldText(false);
                        }
                        @Override
                        public void onLeave(int index, int totalCount, float leavePercent, boolean leftToRight) {
                        }
                        @Override
                        public void onEnter(int index, int totalCount, float enterPercent, boolean leftToRight) {
                        }
                    });
                    //tab单个item点击事件监听
                    commonPagerTitleView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            pager.setCurrentItem(index);
                        }
                    });
                    return commonPagerTitleView;
                }
                //此为tab指示器回调
                @Override
                public IPagerIndicator getIndicator(Context context) {
//                    LinePagerIndicator indicator = new LinePagerIndicator(context);
//                    indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
                    return null;
                }
            });
            commonNavigator.setAdapter(n1);
            //设置给magicIndicator
            magic_indicator.setNavigator(commonNavigator);
            ViewPagerHelper.bind(magic_indicator, pager);