This commit is contained in:
2023-09-28 18:28:28 +08:00
parent 2976177e92
commit 2602725320
60 changed files with 1989 additions and 157 deletions

View File

@@ -0,0 +1,83 @@
package com.shayu.onetoone.activity;
import android.os.Bundle;
import android.view.View;
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.DslTabLayoutConfig;
import com.angcyo.tablayout.delegate2.ViewPager2Delegate;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.BaseFragment;
import com.shayu.onetoone.activity.fragments.DynamicFragment;
import com.shayu.onetoone.activity.fragments.FriendsFragment;
import com.shayu.onetoone.activity.fragments.MessageFragment;
import com.shayu.onetoone.activity.fragments.MyFragment;
import com.shayu.onetoone.manager.RouteManager;
import java.util.ArrayList;
import java.util.List;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function4;
@Route(path = RouteManager.ACTIVITY_MAIN)
public class MainActivity extends AbsOTOActivity {
List<BaseFragment> fragments = new ArrayList<>();
private ViewPager2 viewPager;
private DslTabLayout dslTabLayout;
@Override
protected void main(Bundle savedInstanceState) {
fragments.add(new FriendsFragment());
fragments.add(new DynamicFragment());
fragments.add(new MessageFragment());
fragments.add(new MyFragment());
viewPager = findViewById(R.id.viewPager);
dslTabLayout = findViewById(R.id.dslTabLayout);
viewPager.setAdapter(new FragmentStateAdapter(this) {
@NonNull
@Override
public Fragment createFragment(int position) {
return fragments.get(position);
}
@Override
public int getItemCount() {
return fragments.size();
}
});
viewPager.setUserInputEnabled(false);
ViewPager2Delegate.Companion.install(viewPager, dslTabLayout, false);
dslTabLayout.configTabLayoutConfig(new Function1<DslTabLayoutConfig, Unit>() {
@Override
public Unit invoke(DslTabLayoutConfig dslTabLayoutConfig) {
dslTabLayoutConfig.setOnSelectItemView(new Function4<View, Integer, Boolean, Boolean, Boolean>() {
@Override
public Boolean invoke(View itemView, Integer index, Boolean select, Boolean fromUse) {
if (select) {
viewPager.setCurrentItem(index);
}
return false;
}
});
return null;
}
});
}
@Override
protected int getLayoutId() {
return R.layout.activity_main;
}
}