package com.weikou.beibeivideo.ui.main;
|
|
import android.content.Context;
|
import android.graphics.Canvas;
|
import android.graphics.Color;
|
import android.graphics.Paint;
|
import android.graphics.RectF;
|
import android.graphics.Typeface;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.provider.CalendarContract;
|
import android.util.Log;
|
import android.view.Gravity;
|
import android.view.View;
|
import android.view.animation.Interpolator;
|
import android.view.animation.LinearInterpolator;
|
import android.widget.FrameLayout;
|
import android.widget.TextView;
|
|
import com.kwad.sdk.api.KsAdSDK;
|
import com.kwad.sdk.api.KsContentPage;
|
import com.kwad.sdk.api.KsFeedPage;
|
import com.kwad.sdk.api.KsScene;
|
import com.lcjian.library.util.common.DimenUtils;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
|
import com.weikou.beibeivideo.util.ad.AdUtil;
|
import com.weikou.beibeivideo.util.ad.KSConstant;
|
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
|
|
import net.lucode.hackware.magicindicator.FragmentContainerHelper;
|
import net.lucode.hackware.magicindicator.MagicIndicator;
|
import net.lucode.hackware.magicindicator.ViewPagerHelper;
|
import net.lucode.hackware.magicindicator.buildins.ArgbEvaluatorHolder;
|
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.model.PositionData;
|
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView;
|
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.CommonPagerTitleView;
|
|
import java.util.Arrays;
|
import java.util.List;
|
|
import androidx.annotation.NonNull;
|
import androidx.annotation.Nullable;
|
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentStatePagerAdapter;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.viewpager.widget.ViewPager;
|
|
/**
|
* 主页面--快手视频
|
*/
|
public class DrawVideoFragment extends MyRetainViewFragment {
|
private static final String TAG = "DrawVideoFragment";
|
private FragmentManager fragmentManager;
|
private MagicIndicator magic_indicator;
|
private ViewPager vp_draw_videos;
|
|
public DrawVideoFragment() {
|
super();
|
}
|
|
public DrawVideoFragment(FragmentManager fragmentManager) {
|
super();
|
this.fragmentManager = fragmentManager; //fragmentManager;
|
setName(DrawVideoFragment.class.getName());
|
}
|
|
|
@Override
|
public int getContentResource() {
|
return R.layout.fragment_draw_videos;
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
Log.i(TAG, "onResume");
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
Log.i(TAG, "onPause");
|
}
|
|
@Override
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
Log.i(TAG, "onCreate");
|
}
|
|
private void initView(View view) {
|
magic_indicator = view.findViewById(R.id.magic_indicator);
|
vp_draw_videos = view.findViewById(R.id.vp_draw_videos);
|
}
|
|
@Override
|
public void onCreateView(View contentView, Bundle savedInstanceState) {
|
Log.i(TAG, "onCreateView");
|
initView(contentView);
|
init();
|
}
|
|
public void init() {
|
vp_draw_videos.setAdapter(new DrawVideoTypesAdapter(getChildFragmentManager()));
|
CommonNavigator commonNavigator = new CommonNavigator(getActivity());
|
commonNavigator.setAdapter(navigatorAdapter);
|
commonNavigator.setAdjustMode(true);
|
magic_indicator.setNavigator(commonNavigator);
|
ViewPagerHelper.bind(magic_indicator, vp_draw_videos);
|
vp_draw_videos.setCurrentItem(0);
|
if (getTypeCount() <= 1) {
|
magic_indicator.setVisibility(View.GONE);
|
}
|
}
|
|
|
private CommonNavigatorAdapter navigatorAdapter = new CommonNavigatorAdapter() {
|
|
@Override
|
public int getCount() {
|
return getTypeCount();
|
}
|
|
|
@Override
|
public IPagerTitleView getTitleView(final Context context, final int index) {
|
ColorTransitionPagerTitleView colorTransitionPagerTitleView = new ColorTransitionPagerTitleView(context);
|
colorTransitionPagerTitleView.setNormalColor(Color.parseColor("#80FFFFFF"));
|
colorTransitionPagerTitleView.setSelectedColor(Color.WHITE);
|
colorTransitionPagerTitleView.setText(index == 0 ? "热门" : "推荐");
|
colorTransitionPagerTitleView.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View view) {
|
vp_draw_videos.setCurrentItem(index);
|
}
|
});
|
colorTransitionPagerTitleView.setTextSize(18);
|
colorTransitionPagerTitleView.getPaint().setFakeBoldText(true);
|
colorTransitionPagerTitleView.setShadowLayer(3.0f,0,2,Color.parseColor("#80000000"));
|
|
|
return colorTransitionPagerTitleView;
|
}
|
|
//此为tab指示器回调
|
@Override
|
public IPagerIndicator getIndicator(Context context) {
|
LinePagerIndicator indicator = new LinePagerIndicator(context);
|
indicator.setColors(Color.WHITE);
|
indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
|
indicator.setRoundRadius(5);
|
return indicator;
|
}
|
};
|
|
|
class DrawVideoTypesAdapter extends FragmentStatePagerAdapter {
|
|
private FragmentManager fm;
|
|
public DrawVideoTypesAdapter(@NonNull FragmentManager fm) {
|
super(fm);
|
this.fm = fm;
|
}
|
|
@Override
|
public int getItemPosition(@NonNull Object object) {
|
return super.getItemPosition(object);
|
}
|
|
@NonNull
|
@Override
|
public Fragment getItem(int position) {
|
Log.i(TAG, "getItem:" + position);
|
if (getTypeCount() > 1) {
|
if (position == 0) {
|
return new DYVideoFragment();
|
} else {
|
return new KSVideoFragment();
|
}
|
} else {
|
return new KSVideoFragment();
|
}
|
}
|
|
@Override
|
public int getCount() {
|
return getTypeCount();
|
}
|
}
|
|
|
private int getTypeCount() {
|
if (AdUtil.isCanInitCSJ()) {
|
return 2;
|
} else {
|
return 1;
|
}
|
|
}
|
}
|