package com.shayu.onetoone.activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; import com.alibaba.android.arouter.facade.annotation.Route; import com.angcyo.tablayout.DslTabLayout; import com.angcyo.tablayout.delegate2.ViewPager2Delegate; import com.shayu.onetoone.R; import com.shayu.onetoone.activity.fragments.home.HomeRankFragment; import com.shayu.onetoone.listener.OnAppbarListener; import com.shayu.onetoone.manager.RouteManager; import java.util.ArrayList; import java.util.List; @Route(path = RouteManager.ACTIVITY_HOME_RANK) public class HomepageRankingActivity extends AbsOTOActivity { ViewPager2 viewPager; DslTabLayout dslTabLayout; RadioButton mDay, mWeek; private RadioGroup radioGroup; private ViewPagerChangeCallback viewPagerChangeCallback; List fragments = new ArrayList<>(); @Override protected int getLayoutId() { return R.layout.activity_main_list; } @Override protected void main(Bundle savedInstanceState) { mDay = findViewById(R.id.btn_day); mWeek = findViewById(R.id.btn_week); viewPager = findViewById(R.id.view_pager); dslTabLayout = findViewById(R.id.dslTabLayout); radioGroup = findViewById(R.id.radioGroup); viewPagerChangeCallback = new ViewPagerChangeCallback(); ViewPager2Delegate.Companion.install(viewPager, dslTabLayout, false); fragments.add(new HomeRankFragment(HomeRankFragment.TYPE_CHARM));//魅力 fragments.add(new HomeRankFragment(HomeRankFragment.TYPE_WEALTH)); //财富 viewPager.setAdapter(new FragmentStateAdapter(this) { @NonNull @Override public Fragment createFragment(int position) { fragments.get(position).setAppbarListener(new OnAppbarListener() { @Override public void onShow(boolean isShow) { if (isShow) { radioGroup.setVisibility(View.VISIBLE); } else { radioGroup.setVisibility(View.INVISIBLE); } } }); return fragments.get(position); } @Override public int getItemCount() { return fragments.size(); } }); mDay.setOnClickListener(v -> { setRadioColor(mDay, mWeek); fragments.get(viewPager.getCurrentItem()).setDate(HomeRankFragment.DATE_DAY); }); mWeek.setOnClickListener(v -> { setRadioColor(mWeek, mDay); fragments.get(viewPager.getCurrentItem()).setDate(HomeRankFragment.DATE_WEEK); }); viewPager.registerOnPageChangeCallback(viewPagerChangeCallback); findViewById(R.id.back).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } @Override protected void onDestroy() { super.onDestroy(); viewPager.unregisterOnPageChangeCallback(viewPagerChangeCallback); } private void setRadioColor(RadioButton select, RadioButton unSelect) { select.setTextColor(Color.parseColor("#FFFFFF")); unSelect.setTextColor(Color.parseColor("#666666")); select.setBackgroundResource(R.drawable.bg_home_rank_day_select); unSelect.setBackgroundResource(R.drawable.bg_home_rank_day); } private class ViewPagerChangeCallback extends ViewPager2.OnPageChangeCallback { @Override public void onPageSelected(int position) { super.onPageSelected(position); fragments.get(position).setDate(mDay.isChecked() ? HomeRankFragment.DATE_DAY : HomeRankFragment.DATE_WEEK); } } }