[Modify]viewpager改造

This commit is contained in:
wushaocheng
2023-06-06 16:08:58 +08:00
parent 64f5ad02e3
commit dc1436008e
45 changed files with 300 additions and 419 deletions

View File

@@ -16,12 +16,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatDialogFragment;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.community.publish.view.WorldsChooseFrg;
import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
@@ -42,7 +42,7 @@ public class ChooseWorldsDialog extends AppCompatDialogFragment
private FrameLayout flTopButton;
private FrameLayout flDialogWorld;
private MagicIndicator indicator;
private ViewPager viewPager;
private ViewPager2 viewPager;
public static ChooseWorldsDialog newInstance(byte type) {
ChooseWorldsDialog chooseWorldsDialog = new ChooseWorldsDialog();
@@ -70,13 +70,9 @@ public class ChooseWorldsDialog extends AppCompatDialogFragment
viewPager = mRootView.findViewById(R.id.viewpager);
List<TabInfo> mTabInfoList = new ArrayList<>();
// mTabInfoList.add(new TabInfo(1, ResUtil.getString(R.string.widget_dialog_chooseworldsdialog_01)));
// mTabInfoList.add(new TabInfo(2, ResUtil.getString(R.string.widget_dialog_chooseworldsdialog_02)));
mTabInfoList.add(new TabInfo(3, ResUtil.getString(R.string.widget_dialog_chooseworldsdialog_03)));
List<Fragment> mTabs = new ArrayList<>();
// mTabs.add(WorldsChooseFrg.newInstance(Constants.TYPE_JOINED).setmChooseWorldCallback(this));
// mTabs.add(WorldsChooseFrg.newInstance(Constants.TYPE_RECOMMEND).setmChooseWorldCallback(this));
mTabs.add(WorldsChooseFrg.newInstance(Constants.TYPE_ALL).setmChooseWorldCallback(this));
ChooseWorldsIndicatorAdapter topMagicIndicatorAdapter = new ChooseWorldsIndicatorAdapter(context, mTabInfoList, 0);
@@ -86,30 +82,9 @@ public class ChooseWorldsDialog extends AppCompatDialogFragment
commonNavigator.setAdapter(topMagicIndicatorAdapter);
indicator.setNavigator(commonNavigator);
viewPager.setAdapter(new FragmentViewPagerAdapter(getChildFragmentManager(), mTabs));
viewPager.setAdapter(new CommonVPAdapter(getChildFragmentManager(), getLifecycle(), mTabs));
ViewPagerHelper.bind(indicator, viewPager);
Bundle bundle = getArguments();
byte type;
if (bundle != null) {
type = bundle.getByte("type", Constants.TYPE_JOINED);
} else {
type = Constants.TYPE_JOINED;
}
// switch (type) {
// case Constants.TYPE_ALL:
viewPager.setCurrentItem(2);
// break;
//
// case Constants.TYPE_JOINED:
// viewPager.setCurrentItem(0);
// break;
//
// case Constants.TYPE_RECOMMEND:
// viewPager.setCurrentItem(1);
// break;
// }
return mRootView;
}
@@ -148,6 +123,7 @@ public class ChooseWorldsDialog extends AppCompatDialogFragment
}
private WorldsChooseFrg.ChooseWorldCallback mChooseWorldCallback;
@Override
public void callback(MiniWorldChooseInfo miniWorldChooseInfo) {
if (mChooseWorldCallback != null) {
@@ -165,8 +141,6 @@ public class ChooseWorldsDialog extends AppCompatDialogFragment
public void dismissDialog() {
//注释这个判断,因为不保留活动情况下,((Activity)mContext).isDestroyed() 为true 导致不执行dismiss一个dialog
//而mDialog.getWindow()不为null还是可以dismiss一个dialog的。
// if(!checkActivityValid())
// return;
//加上一个try强行吞异常
try {
Context context = getContext();
@@ -178,7 +152,7 @@ public class ChooseWorldsDialog extends AppCompatDialogFragment
} else
dismiss();
}
} catch (Exception e){
} catch (Exception e) {
}
}

View File

@@ -6,7 +6,7 @@ import android.graphics.Color
import android.view.View
import androidx.activity.viewModels
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.netease.nim.uikit.StatusBarUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseViewBindingActivity
@@ -104,16 +104,18 @@ class DecorationStoreActivity : BaseViewBindingActivity<ActivityDecorationStoreB
commonNavigator.adapter = indicator
mMagicIndicator.navigator = commonNavigator
ViewPagerHelper.bind(mMagicIndicator, viewPager)
viewPager.adapter = object : FragmentPagerAdapter(
supportFragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
viewPager.adapter = object : FragmentStateAdapter(
supportFragmentManager, lifecycle
) {
override fun getCount(): Int {
override fun getItemCount(): Int {
return tabInfoList.size
}
override fun getItem(position: Int): Fragment {
override fun createFragment(position: Int): Fragment {
return DecorationCommonFragment.newInstance(position)
}
}
viewPager.currentItem = mPosition
}

View File

@@ -10,8 +10,9 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nim.uikit.common.util.log.LogUtil;
@@ -62,7 +63,7 @@ public class MyDecorationActivity extends BaseBindingActivity<ActivityMyDecorati
* 我的装饰Banner
*/
private static final String BANNER_TYPE = "3";
private ViewPager viewPager;
private ViewPager2 viewPager;
private int mPosition;
private boolean carGarageNeedUpdate = true;
private MyHeadWearFragment myHeadWearFragment;
@@ -103,43 +104,61 @@ public class MyDecorationActivity extends BaseBindingActivity<ActivityMyDecorati
indicator.setOnItemSelectListener(this);
commonNavigator.setAdapter(indicator);
mMagicIndicator.setNavigator(commonNavigator);
ViewPagerHelper.bind(mMagicIndicator, viewPager);
myHeadWearFragment = new MyHeadWearFragment();
mMyCarFragment = MyCarFragment.instance(this);
mMyNamePlateFragment = new MyNamePlateFragment();
mMyUserCardWearFragment = new MyUserCardWearFragment();
mMyChatBubbleFragment = new MyChatBubbleFragment();
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
viewPager.setAdapter(new FragmentStateAdapter(getSupportFragmentManager(), getLifecycle()) {
@Override
public int getCount() {
public int getItemCount() {
return tabInfoList.size();
}
@NonNull
@Override
public Fragment getItem(int position) {
public Fragment createFragment(int position) {
if (position == 0) {
return myHeadWearFragment;
} else if (position == 1) {
return mMyCarFragment;
} else if (position == 2) {
return mMyNamePlateFragment;
}
else if (position == 3) {
} else if (position == 3) {
return mMyUserCardWearFragment;
}
return mMyChatBubbleFragment;
}
});
viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (mMagicIndicator != null) {
mMagicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
if (mMagicIndicator != null) {
mMagicIndicator.onPageSelected(position);
if (position == 1) {
mMagicIndicator.findViewById(R.id.car_badge_garage).setVisibility(View.GONE);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
if (mMagicIndicator != null) {
mMagicIndicator.onPageScrollStateChanged(state);
}
}
});
viewPager.setCurrentItem(mPosition);
}

View File

@@ -5,20 +5,20 @@ import android.content.Intent
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.netease.nim.uikit.StatusBarUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.databinding.ActivityAssociationBinding
import com.yizhuan.erban.module_hall.hall.fragment.AssociationFragment
import com.yizhuan.erban.module_hall.hall.fragment.AssociationRoomFragment
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.common.CommonPagerAdapter
import com.yizhuan.erban.databinding.ActivityAssociationBinding
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
import com.yizhuan.xchat_android_library.utils.ResUtil
/**
* 公会周榜
*/
@@ -41,10 +41,9 @@ class AssociationActivity : BaseViewBindingActivity<ActivityAssociationBinding>(
* 公會
*/
private fun initDetail() {
val viewPager: ViewPager = binding.viewPagerDetail
val viewPager = binding.viewPagerDetail
val magicIndicator: MagicIndicator = binding.magicIndicator
val fragmentList: MutableList<Fragment> = ArrayList()
val pagerAdapter = CommonPagerAdapter(supportFragmentManager, fragmentList)
val tagList: MutableList<String> = ArrayList()
tagList.add(getString(R.string.me_association))
tagList.add(getString(R.string.me_room))
@@ -59,21 +58,24 @@ class AssociationActivity : BaseViewBindingActivity<ActivityAssociationBinding>(
commonNavigator.adapter = magicIndicatorAdapter
magicIndicator.navigator = commonNavigator
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
viewPager.adapter = pagerAdapter
ViewPagerHelper.bind(magicIndicator, viewPager)
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
viewPager.adapter = CommonVPAdapter(supportFragmentManager, lifecycle, fragmentList)
viewPager.registerOnPageChangeCallback(object : OnPageChangeCallback() {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels)
}
override fun onPageSelected(position: Int) {
magicIndicator.onPageSelected(position)
viewPager.requestLayout()
}
override fun onPageScrollStateChanged(state: Int) {}
override fun onPageScrollStateChanged(state: Int) {
magicIndicator.onPageScrollStateChanged(state)
}
})
}

View File

@@ -92,13 +92,11 @@ public class ContactsIndicatorAdapter extends CommonNavigatorAdapter {
@Override
public void onSelected(int index, int totalCount) {
// setBackgroundResource(R.drawable.shape_bg_contact_indicator_item);
setTextColor(getResources().getColor(R.color.color_333333));
}
@Override
public void onDeselected(int index, int totalCount) {
// setBackgroundDrawable(null);
setTextColor(getResources().getColor(R.color.color_666666));
}

View File

@@ -1,34 +0,0 @@
package com.yizhuan.erban.home.adapter;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import java.util.List;
/**
*
*/
public class FragmentViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragmentList;
public FragmentViewPagerAdapter(FragmentManager fm, List<Fragment> fragmentList) {
super(fm);
this.mFragmentList = fragmentList;
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList == null ? 0 : mFragmentList.size();
}
public void setmFragmentList(List<Fragment> mFragmentList) {
this.mFragmentList = mFragmentList;
}
}

View File

@@ -16,7 +16,6 @@ import com.yizhuan.erban.ui.im.friend.FriendListFragment
import com.yizhuan.erban.ui.im.recent.RecentListFragment
import com.yizhuan.erban.ui.relation.FansListFragment
import com.yizhuan.erban.ui.user.adapter.UserInfoIndicatorAdapter
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
import com.yizhuan.xchat_android_core.Constants
import com.yizhuan.xchat_android_library.utils.ResUtil
@@ -80,11 +79,24 @@ class ContactsListFragment : BaseViewBindingFragment<FragmentContactListBinding>
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
binding.viewPager.offscreenPageLimit = 4
binding.viewPager.adapter = CommonVPAdapter(childFragmentManager, lifecycle, fragmentList)
ViewPagerHelper.bind(binding.magicIndicator, binding.viewPager)
binding.viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
binding.magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels)
}
override fun onPageSelected(position: Int) {
binding.magicIndicator.onPageSelected(position)
binding.viewPager.requestLayout()
}
override fun onPageScrollStateChanged(state: Int) {
binding.magicIndicator.onPageScrollStateChanged(state)
}
})
}

View File

@@ -9,6 +9,7 @@ import androidx.fragment.app.activityViewModels
import com.coorchice.library.utils.LogUtils
import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter
import com.yizhuan.erban.avroom.adapter.RoomVPAdapter
import com.yizhuan.erban.base.BaseFragment
import com.yizhuan.erban.databinding.FragmentPartyBinding
@@ -121,10 +122,9 @@ class PartyFragment : BaseFragment(), PartyMagicIndicatorAdapter.OnItemSelectLis
commonNavigator.adapter = magicIndicatorAdapter
mBinding.magicIndicator.navigator = commonNavigator
mBinding.viewPager.offscreenPageLimit = 2
mBinding.viewPager.adapter = RoomVPAdapter(
childFragmentManager,
mFragments
)
//init viewpager
mBinding.viewPager.adapter = CommonVPAdapter(childFragmentManager, lifecycle, mFragments)
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager)
onItemSelect(currentIndex, null)
}

View File

@@ -18,7 +18,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import com.yizhuan.erban.MainActivity;
import com.yizhuan.erban.R;
import com.yizhuan.erban.application.IReportConstants;
import com.yizhuan.erban.application.ReportManager;

View File

@@ -6,17 +6,16 @@ import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.netease.nim.uikit.StatusBarUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.databinding.ActivityGiveGoldDetailBinding
import com.yizhuan.erban.pay.fragment.GiveDiamondFragment
import com.yizhuan.erban.pay.fragment.GiveGiftFragment
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
import com.yizhuan.xchat_android_core.initial.InitialModel
import com.yizhuan.xchat_android_core.user.UserModel
@@ -52,10 +51,9 @@ class GiveGoldDetailActivity : BaseViewBindingActivity<ActivityGiveGoldDetailBin
val giftList = initInfo?.giveGiftErbanNoList
val levelSep = userInfo?.userLevelVo?.experLevelSeq ?: 0
val viewPager: ViewPager = binding.viewPagerDetail
val viewPager = binding.viewPagerDetail
val magicIndicator: MagicIndicator = binding.magicIndicator
val fragmentList: MutableList<Fragment> = ArrayList()
val pagerAdapter = UserInfoPagerAdapter(supportFragmentManager, fragmentList)
val tagList: MutableList<String> = ArrayList()
if (diamondList?.contains(userInfo?.erbanNo) == true || levelSep >= (initInfo?.giveDiamondExperLevel
?: 0)
@@ -71,7 +69,7 @@ class GiveGoldDetailActivity : BaseViewBindingActivity<ActivityGiveGoldDetailBin
}
if (tagList.size == 0) {
return
}else if(tagList.size == 1){
} else if (tagList.size == 1) {
binding.magicIndicator.visibility = View.GONE
}
val commonNavigator = CommonNavigator(context)
@@ -83,21 +81,26 @@ class GiveGoldDetailActivity : BaseViewBindingActivity<ActivityGiveGoldDetailBin
commonNavigator.adapter = magicIndicatorAdapter
magicIndicator.navigator = commonNavigator
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
viewPager.adapter = pagerAdapter
ViewPagerHelper.bind(magicIndicator, viewPager)
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
//init viewpager
viewPager.adapter = CommonVPAdapter(supportFragmentManager, lifecycle, fragmentList)
viewPager.registerOnPageChangeCallback(object : OnPageChangeCallback() {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels)
}
override fun onPageSelected(position: Int) {
magicIndicator.onPageSelected(position)
viewPager.requestLayout()
}
override fun onPageScrollStateChanged(state: Int) {}
override fun onPageScrollStateChanged(state: Int) {
magicIndicator.onPageScrollStateChanged(state)
}
})
}

View File

@@ -75,6 +75,9 @@ class CpTaskActivity : BaseBindingActivity<ActivityCpTaskBinding>(),
val list = ArrayList<String>(2)
list.add(ResUtil.getString(R.string.cp_activity_cptaskactivity_02))
list.add(ResUtil.getString(R.string.cp_activity_cptaskactivity_03))
val fragments = ArrayList<CpTaskFragment>(2)
fragments.add(CpTaskFragment.newInstance(CpTaskFragment.TYPE_DAILY))
fragments.add(CpTaskFragment.newInstance(CpTaskFragment.TYPE_TOTAL))
val commonNavigator = CommonNavigator(this)
commonNavigator.isAdjustMode = true

View File

@@ -5,8 +5,8 @@ import android.os.Bundle
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter
import com.yizhuan.erban.base.BaseViewBindingFragment
import com.yizhuan.erban.databinding.TreasureFairyFragmentForestPrizesBinding
import com.yizhuan.erban.treasurefairy.adapter.ForestIndicatorAdapter
@@ -29,13 +29,12 @@ class ForestPrizesFragment : BaseViewBindingFragment<TreasureFairyFragmentForest
@SuppressLint("CheckResult")
override fun init() {
val viewPager: ViewPager = binding.viewPager
val viewPager = binding.viewPager
val magicIndicator: MagicIndicator = binding.magicIndicator
val fragmentList: MutableList<Fragment> = ArrayList()
fragmentList.add(ForestPrizesChildFragment.newInstance(1))
fragmentList.add(ForestPrizesChildFragment.newInstance(2))
fragmentList.add(ForestPrizesChildFragment.newInstance(3))
val pagerAdapter = UserInfoPagerAdapter(childFragmentManager, fragmentList)
val tagList: MutableList<String> = ArrayList()
tagList.add(getString(R.string.fairy_primary_common_forest))
tagList.add(getString(R.string.fairy_epic_common_forest))
@@ -49,8 +48,9 @@ class ForestPrizesFragment : BaseViewBindingFragment<TreasureFairyFragmentForest
commonNavigator.adapter = magicIndicatorAdapter
magicIndicator.navigator = commonNavigator
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
viewPager.offscreenPageLimit = 1
viewPager.adapter = pagerAdapter
//init viewpager
viewPager.adapter = CommonVPAdapter(childFragmentManager, lifecycle, fragmentList)
ViewPagerHelper.bind(magicIndicator, viewPager)
}

View File

@@ -1,38 +0,0 @@
package com.yizhuan.erban.ui.indicator_impl;
import android.content.Context;
import android.widget.LinearLayout;
import androidx.viewpager.widget.ViewPager;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import java.util.List;
/**
* create by lvzebiao @2020/1/7
*/
public class IndicatorHelper {
public static void handle(Context context, ViewPager viewPager, MagicIndicator magicIndicator,
List<? extends CharSequence> list, OnItemSelectListener listener) {
CommonNavigator commonNavigator = new CommonNavigator(context);
JustColorIndicatorAdapter magicIndicatorAdapter = new JustColorIndicatorAdapter(context, list);
if (listener == null) {
listener = (position, view) -> viewPager.setCurrentItem(position);
}
magicIndicatorAdapter.setOnItemSelectListener(listener);
commonNavigator.setAdapter(magicIndicatorAdapter);
magicIndicator.setNavigator(commonNavigator);
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
ViewPagerHelper.bind(magicIndicator, viewPager);
}
public static void handle(Context context, ViewPager viewPager, MagicIndicator magicIndicator,
List<? extends CharSequence> list) {
handle(context, viewPager, magicIndicator, list, null);
}
}

View File

@@ -15,12 +15,12 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.common.ViewPagerAdapter;
import com.yizhuan.erban.friend.action.AbstractSelectFriendAction;
import com.yizhuan.erban.friend.view.SelectFriendActivity;
import com.yizhuan.erban.home.adapter.ContactsIndicatorAdapter;
@@ -51,19 +51,18 @@ import java.util.List;
public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPresenter> implements ISearchView, View.OnClickListener, ContactsIndicatorAdapter.OnItemSelectListener {
private static final String SHOW_HISTORY = "show_history";
public static final int CODE_REQUEST_TO_SEARCH = 200;
protected EditText searchEdit;
private ImageView ivBack;
private TextView tvSearch;
private ImageView ivClearText;
private MagicIndicator indicator;
private ViewPager viewPager;
private ViewPager2 viewPager;
private LinearLayout llSearchDetail;
protected int type = AbstractSelectFriendAction.TYPE_NORMAL;
private long hallId;
private int secondOperator = -1;
private SearchDetailFragment userFrg ;
private SearchDetailFragment userFrg;
public static void start(Context context) {
Intent intent = new Intent(context, SearchActivity.class);
@@ -81,21 +80,18 @@ public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPrese
private void initView() {
type = getIntent().getIntExtra(AbstractSelectFriendAction.KEY_TYPE, AbstractSelectFriendAction.TYPE_NORMAL);
hallId = getIntent().getLongExtra("hallId",0);
secondOperator = getIntent().getIntExtra(SelectFriendActivity.KEY_SECOND_OPERATOR,-1);
hallId = getIntent().getLongExtra("hallId", 0);
secondOperator = getIntent().getIntExtra(SelectFriendActivity.KEY_SECOND_OPERATOR, -1);
searchEdit = findViewById(R.id.search_edit);
searchEdit.addTextChangedListener(textWatcher);
searchEdit.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
searchEdit.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
searchEdit.setOnEditorActionListener((v, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_SEARCH || (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
toSearch();
return true;
}
return false;
}
});
@@ -115,16 +111,15 @@ public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPrese
viewPager = findViewById(R.id.viewpager);
}
private void initSearchDetail(){
// llSearchDetail.setVisibility(View.GONE);
private void initSearchDetail() {
List<String> mTabInfoList = new ArrayList<>();
mTabInfoList.add(getString(R.string.search_room_tab));
mTabInfoList.add(getString(R.string.search_user_tab));
List<Fragment> mTabs = new ArrayList<>();
userFrg = SearchDetailFragment.newInstance(hallId,SearchDetailFragment.TYPE_SEARCH_USER,AbstractSelectFriendAction.TYPE_MODULE_HALL);
userFrg = SearchDetailFragment.newInstance(hallId, SearchDetailFragment.TYPE_SEARCH_USER, AbstractSelectFriendAction.TYPE_MODULE_HALL);
mTabs.add(userFrg);
ContactsIndicatorAdapter topMagicIndicatorAdapter = new ContactsIndicatorAdapter(this, mTabInfoList,0);
ContactsIndicatorAdapter topMagicIndicatorAdapter = new ContactsIndicatorAdapter(this, mTabInfoList, 0);
topMagicIndicatorAdapter.setOnItemSelectListener(this);
CommonNavigator commonNavigator = new CommonNavigator(this);
commonNavigator.setAdjustMode(true);
@@ -134,12 +129,10 @@ public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPrese
LinearLayout titleContainer = commonNavigator.getTitleContainer();
titleContainer.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager(), mTabs,null));
viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), mTabs));
ViewPagerHelper.bind(indicator, viewPager);
}
@Override
public void onItemSelect(int position) {
viewPager.setCurrentItem(position);
@@ -157,7 +150,7 @@ public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPrese
@Override
public void afterTextChanged(Editable s) {
if (s.length()<=0) {
if (s.length() <= 0) {
ivClearText.setVisibility(View.GONE);
showHistory();
} else {
@@ -231,22 +224,24 @@ public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPrese
starSearch(str);
}
private void starSearch(String str){
if (userFrg == null){
private void starSearch(String str) {
if (userFrg == null) {
initSearchDetail();
}
userFrg.search(str,SearchDetailFragment.TYPE_SEARCH_USER);
userFrg.search(str, SearchDetailFragment.TYPE_SEARCH_USER);
llSearchDetail.setVisibility(View.VISIBLE);
}
private void clearSearch(){
private void clearSearch() {
llSearchDetail.setVisibility(View.GONE);
if (userFrg == null){return;}
if (userFrg == null) {
return;
}
userFrg.clear();
}
@Override
protected void onDestroy() {
super.onDestroy();
@@ -254,7 +249,6 @@ public class SearchHallActivity extends BaseMvpActivity<ISearchView, SearchPrese
}
private void showHistory() {
// hideStatus();
clearSearch();
}

View File

@@ -3,14 +3,13 @@ package com.yizhuan.erban.ui.user.activity
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
import com.netease.nim.uikit.StatusBarUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.databinding.ActivityUserGiftBinding
import com.yizhuan.erban.ui.user.fragment.UserInfoGiftFragment
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter
import com.yizhuan.erban.ui.user.fragment.UserInfoGiftFragment
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
@@ -21,13 +20,12 @@ class UserGiftActivity : BaseViewBindingActivity<ActivityUserGiftBinding>() {
override fun init() {
initWhiteTitleBar(ResUtil.getString(R.string.ui_user_usergiftactivity_01))
val viewPager: ViewPager = binding.viewPager
val viewPager = binding.viewPager
val magicIndicator: MagicIndicator = binding.magicIndicator
val fragmentList: MutableList<Fragment> = ArrayList(2)
//礼物类型 1:普通礼物;2:辛运礼物
fragmentList.add(UserInfoGiftFragment.newInstance(1, true))
fragmentList.add(UserInfoGiftFragment.newInstance(2, true))
val pagerAdapter = UserInfoPagerAdapter(supportFragmentManager, fragmentList)
val tagList: MutableList<String> = ArrayList(2)
tagList.add(getString(R.string.me_ordinary_gift))
tagList.add(getString(R.string.me_lucky_gift))
@@ -41,7 +39,9 @@ class UserGiftActivity : BaseViewBindingActivity<ActivityUserGiftBinding>() {
magicIndicator.navigator = commonNavigator
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
viewPager.offscreenPageLimit = 2
viewPager.adapter = pagerAdapter
//init viewpager
viewPager.adapter = CommonVPAdapter(supportFragmentManager, lifecycle, fragmentList)
ViewPagerHelper.bind(magicIndicator, viewPager)
}

View File

@@ -19,7 +19,7 @@ import androidx.core.content.ContextCompat;
import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.flexbox.AlignItems;
import com.google.android.flexbox.FlexDirection;
@@ -37,6 +37,7 @@ import com.yizhuan.erban.audio.helper.AudioPlayerHelper;
import com.yizhuan.erban.audio.helper.OnPlayListener;
import com.yizhuan.erban.avroom.ButtonItemFactory;
import com.yizhuan.erban.avroom.activity.AVRoomActivity;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseBindingActivity;
import com.yizhuan.erban.common.widget.dialog.CommonPopupDialog;
import com.yizhuan.erban.common.widget.dialog.DialogManager;
@@ -46,7 +47,6 @@ import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
import com.yizhuan.erban.ui.user.adapter.SelfPhotoAdapter;
import com.yizhuan.erban.ui.user.adapter.UserInfoIndicatorAdapter;
import com.yizhuan.erban.ui.user.adapter.UserInfoLabelAdapter;
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter;
import com.yizhuan.erban.ui.user.adapter.UserInfoPhotoAdapter;
import com.yizhuan.erban.ui.user.adapter.UserPhotoAdapter;
import com.yizhuan.erban.ui.user.dialog.UserLabelDialog;
@@ -236,7 +236,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
List<Fragment> fragmentList = new ArrayList<>(2);
fragmentList.add(new UserInfoInfoFragment());
fragmentList.add(new UserInfoGiftWallFragment());
UserInfoPagerAdapter pagerAdapter = new UserInfoPagerAdapter(getSupportFragmentManager(), fragmentList);
final List<String> tagList = new ArrayList<>(2);
tagList.add(getString(R.string.me_data));
tagList.add(getString(R.string.me_gift_wall));
@@ -250,21 +249,25 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
mBinding.magicIndicator.setNavigator(commonNavigator);
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
mBinding.viewPager.setOffscreenPageLimit(2);
mBinding.viewPager.setAdapter(pagerAdapter);
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager);
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
mBinding.viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), fragmentList));
mBinding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
mBinding.magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
mBinding.magicIndicator.onPageSelected(position);
mBinding.viewPager.requestLayout();
}
@Override
public void onPageScrollStateChanged(int state) {
mBinding.magicIndicator.onPageScrollStateChanged(state);
}
});
}

View File

@@ -4,8 +4,8 @@ import android.content.Intent
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter
import com.yizhuan.erban.base.BaseViewBindingFragment
import com.yizhuan.erban.databinding.FragmentUserinfoGiftWallBinding
import com.yizhuan.erban.ui.user.activity.UserGiftActivity
@@ -31,7 +31,7 @@ class UserInfoGiftWallFragment : BaseViewBindingFragment<FragmentUserinfoGiftWal
* @param list
*/
private fun initGiftList() {
val viewPager: ViewPager = binding.viewPagerGift
val viewPager = binding.viewPagerGift
val magicIndicator: MagicIndicator = binding.magicIndicatorGift
val fragmentList: MutableList<Fragment> = ArrayList(2)
//礼物类型 1:普通礼物;2:辛运礼物
@@ -51,7 +51,9 @@ class UserInfoGiftWallFragment : BaseViewBindingFragment<FragmentUserinfoGiftWal
magicIndicator.navigator = commonNavigator
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
viewPager.offscreenPageLimit = 2
viewPager.adapter = pagerAdapter
//init viewpager
viewPager.adapter = CommonVPAdapter(childFragmentManager, lifecycle, fragmentList)
ViewPagerHelper.bind(magicIndicator, viewPager)
}

View File

@@ -35,6 +35,7 @@ public class ViewPagerHelper {
if (magicIndicator != null) {
magicIndicator.onPageScrollStateChanged(state);
}
}
});
}

View File

@@ -3,7 +3,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context=".home.activity.AssociationActivity">
@@ -20,7 +19,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_10" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPagerDetail"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

View File

@@ -38,7 +38,7 @@
android:layout_height="30dp"
android:layout_marginTop="@dimen/dp_10" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"

View File

@@ -45,7 +45,7 @@
android:layout_below="@+id/fl_roll_view"
android:layout_marginTop="@dimen/dp_10" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -43,6 +43,7 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="15dp"
android:gravity="center_vertical"
android:layout_weight="1"
android:background="@null"
android:hint="@string/search_hint"
@@ -72,6 +73,7 @@
android:layout_gravity="center_vertical"
android:gravity="center"
android:paddingEnd="16dp"
android:paddingStart="@dimen/dp_0"
android:text="@string/search"
android:textColor="@color/text_title_color"
android:textSize="16sp" />
@@ -93,7 +95,7 @@
android:paddingEnd="5dp"
android:visibility="gone" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -21,7 +21,7 @@
android:paddingStart="13dp"
android:paddingEnd="10dp" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -532,7 +532,7 @@
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -17,7 +17,7 @@
android:layout_height="24dp"
android:layout_marginStart="7dp" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -25,7 +25,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_14" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager_gift"
android:layout_width="match_parent"
android:layout_height="320dp" />

View File

@@ -34,7 +34,7 @@
android:visibility="gone"
android:layout_marginBottom="8dp"/>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -10,7 +10,7 @@
android:layout_height="25dp"
android:layout_gravity="center_horizontal" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -629,8 +629,8 @@
<string name="not_support_message_tip">نصيحة: الإصدار الحالي لا يدعم عرض هذه الرسالة ، يرجى تحديث البرنامج</string>
<string name="label_id_format">%d :المعرف</string>
<string name="format_month_day">%1$s شهر%2 $s يوم</string>
<string name="format_year">سنة</string>
<string name="format_month_day">%1$s شهر%2$s يوم</string>
<string name="format_year">%s سنة</string>
<string name="format_month">%s شهر</string>
<string name="title_room_title_edit">إعلان الغرفة</string>

View File

@@ -638,7 +638,7 @@
<string name="label_id_format">Tanda ID: %d</string>
<string name="format_month_day">%1$s bulan %2$s hari</string>
<string name="format_year">Bertahun-tahun</string>
<string name="format_year">%s Bertahun-tahun</string>
<string name="format_month">%s bulan</string>
<string name="title_room_title_edit">Pengumuman ruangan</string>

View File

@@ -22,7 +22,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_bar"/>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPagerDetail"
android:layout_width="match_parent"
android:layout_height="0dp"

View File

@@ -9,12 +9,12 @@ import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.jzxiang.pickerview.data.Type;
import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.module_hall.hall.view.dialog.TimePickerClanDialog;
import com.yizhuan.erban.module_hall.income.ClanIncomeFragment;
@@ -23,7 +23,6 @@ import com.yizhuan.erban.module_hall.income.view.IIncomeStatisticsView;
import com.yizhuan.erban.module_hall.income.view.LiveIncomeFragment;
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.utils.CommonUtils;
@@ -50,7 +49,7 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
List<Fragment> list = new ArrayList<>();
private ViewPager viewPager;
private ViewPager2 viewPager;
private MagicIndicator indicator;
private TextView tvMonthDayStart;
private TextView tvMonthDayEnd;
@@ -59,17 +58,6 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
private ImageView ivDateArrow;
private ConstraintLayout llDayGroup;
FragmentStatePagerAdapter adapter = new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
};
private boolean mHasInit = false;
private int mCurrentType;
private long mDayFirstTime = System.currentTimeMillis();
@@ -100,7 +88,7 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
liveIncomeFragment.setmDayIncomeFragmentListener(this);
list.add(liveIncomeFragment);
viewPager.setAdapter(adapter);
viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), list));
}
private void findView() {
@@ -150,18 +138,22 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
navigator.setAdapter(magicIndicatorAdapter);
navigator.setAdjustMode(true);
indicator.setNavigator(navigator);
ViewPagerHelper.bind(indicator, viewPager);
mCurrentType = TYPE_DAY;
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (indicator != null) {
indicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
}
@Override
public void onPageSelected(int position) {
if (indicator != null) {
indicator.onPageSelected(position);
}
mSelectPosition = position;
ClanIncomePresenter presenter = getMvpPresenter();
@@ -172,11 +164,13 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
} else {
getMonthIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
}
}
@Override
public void onPageScrollStateChanged(int state) {
if (indicator != null) {
indicator.onPageScrollStateChanged(state);
}
}
});

View File

@@ -10,12 +10,12 @@ import android.widget.TextView;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.jzxiang.pickerview.data.Type;
import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.module_hall.hall.view.dialog.TimePickerDialog;
import com.yizhuan.erban.module_hall.hall.view.indicator.StatisticsIndicatorAdapter;
@@ -24,7 +24,6 @@ import com.yizhuan.erban.module_hall.income.GoldRecordFragment;
import com.yizhuan.erban.module_hall.income.presenter.IncomeStatisticsPresenter;
import com.yizhuan.erban.module_hall.income.view.IIncomeStatisticsView;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.utils.CommonUtils;
@@ -42,7 +41,7 @@ import java.util.List;
public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsView, IncomeStatisticsPresenter>
implements IIncomeStatisticsView, TimePickerDialog.TimePickerListener,
DayIncomeFragment.DayIncomeFragmentListener, GoldRecordFragment.DayIncomeFragmentListener,
View.OnClickListener{
View.OnClickListener {
private static final int TYPE_DAY = 0;
private static final int TYPE_WEEK = 1;
@@ -50,7 +49,7 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
List<Fragment> list = new ArrayList<>();
private ViewPager viewPager;
private ViewPager2 viewPager;
private MagicIndicator indicator;
private TextView tvMonthDayStart;
private TextView tvMonthDayEnd;
@@ -103,8 +102,7 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
list.add(goldRecordFragment);
viewPager.setOffscreenPageLimit(3);
viewPager.setAdapter(adapter);
viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), list));
}
private void findView() {
@@ -174,18 +172,22 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
navigator.setAdapter(adapter);
navigator.setAdjustMode(true);
indicator.setNavigator(navigator);
ViewPagerHelper.bind(indicator, viewPager);
mCurrentType = TYPE_DAY;
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (indicator != null) {
indicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
}
@Override
public void onPageSelected(int position) {
if (indicator != null) {
indicator.onPageSelected(position);
}
if (position != 2) {
llDayList.setVisibility(View.VISIBLE);
llGoldList.setVisibility(View.GONE);
@@ -216,24 +218,15 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
@Override
public void onPageScrollStateChanged(int state) {
if (indicator != null) {
indicator.onPageScrollStateChanged(state);
}
}
});
}
FragmentStatePagerAdapter adapter = new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
};
@Override
public void onClick(View view) {
switch (view.getId()) {

View File

@@ -8,13 +8,12 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.jzxiang.pickerview.data.Type;
import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.module_hall.hall.view.dialog.TimePickerDialog;
import com.yizhuan.erban.module_hall.hall.view.indicator.StatisticsIndicatorAdapter;
@@ -22,7 +21,6 @@ import com.yizhuan.erban.module_hall.income.SingleRoomIncomeFragment;
import com.yizhuan.erban.module_hall.income.presenter.SingleRoomIncomePresenter;
import com.yizhuan.erban.module_hall.income.view.IIncomeStatisticsView;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.utils.CommonUtils;
@@ -49,7 +47,7 @@ public class SingleRoomIncomeActivity extends BaseMvpActivity<IIncomeStatisticsV
List<SingleRoomIncomeFragment> list = new ArrayList<>();
private ViewPager viewPager;
private ViewPager2 viewPager;
private MagicIndicator indicator;
private TextView tvMonthDayStart;
private TextView tvMonthDayEnd;
@@ -58,18 +56,6 @@ public class SingleRoomIncomeActivity extends BaseMvpActivity<IIncomeStatisticsV
private ImageView iv_date_arrow;
private LinearLayout ll_day_group;
FragmentStatePagerAdapter adapter = new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
};
private boolean mHasInit = false;
private int mCurrentType;
@@ -100,7 +86,7 @@ public class SingleRoomIncomeActivity extends BaseMvpActivity<IIncomeStatisticsV
fragment.setmDayIncomeFragmentListener(this);
list.add(fragment);
viewPager.setAdapter(adapter);
viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), list));
}
@@ -149,18 +135,22 @@ public class SingleRoomIncomeActivity extends BaseMvpActivity<IIncomeStatisticsV
navigator.setAdapter(adapter);
navigator.setAdjustMode(true);
indicator.setNavigator(navigator);
ViewPagerHelper.bind(indicator, viewPager);
mCurrentType = TYPE_DAY;
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (indicator != null) {
indicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
}
@Override
public void onPageSelected(int position) {
if (indicator != null) {
indicator.onPageSelected(position);
}
// 切换日,周
mCurrentType = position;
SingleRoomIncomePresenter presenter = getMvpPresenter();
@@ -172,11 +162,13 @@ public class SingleRoomIncomeActivity extends BaseMvpActivity<IIncomeStatisticsV
} else {
getMonthIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
}
}
@Override
public void onPageScrollStateChanged(int state) {
if (indicator != null) {
indicator.onPageScrollStateChanged(state);
}
}
});

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/color_white"
android:orientation="vertical">
<com.yizhuan.erban.base.TitleBar
android:id="@+id/title_bar"
android:layout_marginTop="@dimen/dp_30"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30" />
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
android:id="@+id/indicator"
@@ -54,10 +54,10 @@
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
tools:text="@string/layout_activity_clan_income_02"
app:layout_constraintBottom_toTopOf="@+id/tv_month_day_end"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/tv_month_day_end"/>
tools:text="@string/layout_activity_clan_income_02" />
<TextView
android:id="@+id/tv_month_day_end"
@@ -66,19 +66,19 @@
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
android:visibility="gone"
tools:text="@string/layout_activity_clan_income_03"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_month_day_start"
app:layout_constraintBottom_toBottomOf="parent"/>
tools:text="@string/layout_activity_clan_income_03" />
<ImageView
android:id="@+id/iv_date_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_date_arrow"
app:layout_constraintBottom_toBottomOf="@+id/tv_month_day_start"
app:layout_constraintStart_toEndOf="@+id/tv_month_day_start"
app:layout_constraintTop_toTopOf="@+id/tv_month_day_start"
app:layout_constraintBottom_toBottomOf="@+id/tv_month_day_start"/>
app:layout_constraintTop_toTopOf="@+id/tv_month_day_start" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -108,20 +108,19 @@
android:id="@+id/tv_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvAllIncome"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_2"
android:layout_toEndOf="@id/view_line"
android:layout_below="@+id/tvAllIncome"
tools:text="1,000,000,000"
android:textColor="@color/white"
android:textSize="@dimen/sp_16" />
android:textSize="@dimen/sp_16"
tools:text="1,000,000,000" />
</RelativeLayout>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent" />
</androidx.viewpager.widget.ViewPager>
</LinearLayout>

View File

@@ -8,23 +8,23 @@
<com.yizhuan.erban.base.TitleBar
android:id="@+id/title_bar"
android:layout_marginTop="@dimen/dp_30"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30" />
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
android:id="@+id/indicator"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginEnd="@dimen/dp_30"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45" />
android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginEnd="@dimen/dp_30" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="81dp"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="12dp"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginStart="@dimen/dp_15"
android:background="@drawable/bg_income">
<TextView
@@ -41,10 +41,10 @@
android:id="@+id/ll_day_group"
android:layout_width="wrap_content"
android:layout_height="31dp"
android:layout_alignParentBottom="true"
android:gravity="center_vertical"
android:layout_below="@id/tv_year"
android:layout_alignParentBottom="true"
android:layout_marginStart="15dp"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
@@ -70,20 +70,20 @@
android:id="@+id/iv_date_arrow"
android:layout_width="11dp"
android:layout_height="7dp"
android:layout_toEndOf="@id/ll_day_group"
android:layout_marginStart="@dimen/dp_18"
android:layout_alignParentBottom="true"
android:layout_marginStart="@dimen/dp_18"
android:layout_marginBottom="21dp"
android:layout_toEndOf="@id/ll_day_group"
android:src="@drawable/icon_date_arrow" />
<View
android:layout_toEndOf="@id/iv_date_arrow"
android:id="@+id/view_line"
android:layout_width="2px"
android:layout_height="31dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_9"
android:layout_marginStart="@dimen/dp_18"
android:layout_marginBottom="@dimen/dp_9"
android:layout_toEndOf="@id/iv_date_arrow"
android:background="@color/white" />
<TextView
@@ -91,20 +91,20 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
android:layout_marginTop="@dimen/dp_15"
android:layout_toEndOf="@id/view_line"
android:text="@string/all_income"
android:textColor="@color/white_transparent_80"
android:textSize="@dimen/sp_12"
android:layout_toEndOf="@id/view_line" />
android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/tv_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
android:textColor="@color/white"
android:layout_alignParentBottom="true"
android:layout_marginStart="@dimen/dp_19"
android:layout_marginBottom="10dp"
android:layout_toEndOf="@id/view_line"
android:textColor="@color/white"
android:textSize="24dp" />
</RelativeLayout>
@@ -114,18 +114,18 @@
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:background="@color/color_F0F5F6"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_40"
android:background="@color/color_F0F5F6">
android:paddingEnd="@dimen/dp_40">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/layout_activity_income_statistics_04"
android:textColor="@color/color_1F1A4E"
android:textSize="@dimen/sp_12"
android:text="@string/layout_activity_income_statistics_04" />
android:textSize="@dimen/sp_12" />
<View
android:layout_width="0dp"
@@ -135,9 +135,9 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/layout_activity_income_statistics_05"
android:textColor="@color/color_1F1A4E"
android:textSize="@dimen/sp_12"
android:text="@string/layout_activity_income_statistics_05" />
android:textSize="@dimen/sp_12" />
<View
android:layout_width="0dp"
@@ -147,9 +147,9 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/layout_activity_income_statistics_06"
android:textColor="@color/color_1F1A4E"
android:textSize="@dimen/sp_12"
android:text="@string/layout_activity_income_statistics_06" />
android:textSize="@dimen/sp_12" />
<View
android:layout_width="0dp"
@@ -159,22 +159,22 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/diamond_income"
android:textColor="@color/color_1F1A4E"
android:textSize="@dimen/sp_12"
android:text="@string/diamond_income" />
android:textSize="@dimen/sp_12" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_gold_list"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="@dimen/dp_20"
android:background="@color/color_F0F5F6"
android:gravity="center_vertical"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15">
android:paddingEnd="@dimen/dp_15"
android:visibility="gone">
<TextView
android:id="@+id/tvBelongRoom"
@@ -211,23 +211,23 @@
<LinearLayout
android:id="@+id/ll_diamond_arrow"
android:orientation="vertical"
android:layout_marginStart="@dimen/dp_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_3"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_diamond_top"
android:src="@mipmap/ic_arrow_gray_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:src="@mipmap/ic_arrow_gray_top" />
<ImageView
android:id="@+id/iv_diamond_bottom"
android:src="@mipmap/ic_arrow_black_bottom"
android:layout_marginTop="@dimen/dp_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_2"
android:src="@mipmap/ic_arrow_black_bottom" />
</LinearLayout>
@@ -258,32 +258,31 @@
<LinearLayout
android:id="@+id/ll_gold_arrow"
android:orientation="vertical"
android:layout_marginStart="@dimen/dp_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_3"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_gold_top"
android:src="@mipmap/ic_arrow_gray_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:src="@mipmap/ic_arrow_gray_top" />
<ImageView
android:id="@+id/iv_gold_bottom"
android:src="@mipmap/ic_arrow_black_bottom"
android:layout_marginTop="@dimen/dp_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_2"
android:src="@mipmap/ic_arrow_black_bottom" />
</LinearLayout>
</LinearLayout>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent" />
</androidx.viewpager.widget.ViewPager>
</LinearLayout>

View File

@@ -178,10 +178,9 @@
</LinearLayout>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"/>
</androidx.viewpager.widget.ViewPager>
</LinearLayout>

View File

@@ -4,15 +4,14 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.miniworld.fragment.MiniWorldCategoryFragment;
import com.yizhuan.erban.miniworld.presenter.MiniWorldPresenter;
@@ -43,7 +42,7 @@ public class AllTopicActivity extends BaseMvpActivity<IMiniWorldView, MiniWorldP
private static final String PARAM_MINI_WORLD_CATEGORY_ID = "miniWorldCategoryId";
private int mMiniWorldCategoryId;
private MagicIndicator mMagicIndicator;
private ViewPager mViewPager;
private ViewPager2 mViewPager;
private boolean isFirstLoad;
private List<MiniWorldCategoryInfo> mMiniWorldCategoryInfos;
@@ -72,8 +71,8 @@ public class AllTopicActivity extends BaseMvpActivity<IMiniWorldView, MiniWorldP
initViews();
mMiniWorldCategoryId = getIntent().getIntExtra(PARAM_MINI_WORLD_CATEGORY_ID, -1);
List<Fragment> fragments = new ArrayList<>();
fragments.add(MiniWorldCategoryFragment.newInstance(String.valueOf("0")));
mViewPager.setAdapter(new RoomContributeListAdapter(getSupportFragmentManager(), fragments));
fragments.add(MiniWorldCategoryFragment.newInstance("0"));
mViewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), fragments));
ViewPagerHelper.bind(mMagicIndicator, mViewPager);
mViewPager.setOffscreenPageLimit(5);
}
@@ -133,12 +132,7 @@ public class AllTopicActivity extends BaseMvpActivity<IMiniWorldView, MiniWorldP
simplePagerTitleView.setSelectedColor(Color.parseColor("#333333"));
simplePagerTitleView.setTextSize(15);
simplePagerTitleView.setBackgroundColor(Color.TRANSPARENT);
simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mViewPager.setCurrentItem(index);
}
});
simplePagerTitleView.setOnClickListener(v -> mViewPager.setCurrentItem(index));
return simplePagerTitleView;
}
@@ -149,14 +143,12 @@ public class AllTopicActivity extends BaseMvpActivity<IMiniWorldView, MiniWorldP
indicator.setLineHeight(UIUtil.dip2px(context, 4));
indicator.setLineWidth(UIUtil.dip2px(context, 18));
indicator.setRoundRadius(UIUtil.dip2px(context, 2));
// indicator.setStartInterpolator(new AccelerateInterpolator());
// indicator.setEndInterpolator(new DecelerateInterpolator(2.0f));
indicator.setColors(ContextCompat.getColor(context, R.color.appColor));
return indicator;
}
});
mMagicIndicator.setNavigator(commonNavigator);
mViewPager.setAdapter(new RoomContributeListAdapter(getSupportFragmentManager(), fragments));
mViewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), fragments));
ViewPagerHelper.bind(mMagicIndicator, mViewPager);
mViewPager.setOffscreenPageLimit(5);
mViewPager.setCurrentItem(position);

View File

@@ -9,8 +9,10 @@ import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.miniworld.fragment.MiniWorldCategoryFragment;
@@ -42,7 +44,7 @@ public class MiniWorldActivity extends BaseMvpActivity<IMiniWorldView, MiniWorld
private static final String PARAM_MINI_WORLD_CATEGORY_ID = "miniWorldCategoryId";
private int mMiniWorldCategoryId;
private MagicIndicator mMagicIndicator;
private ViewPager mViewPager;
private ViewPager2 mViewPager;
private boolean isFirstLoad;
private List<MiniWorldCategoryInfo> mMiniWorldCategoryInfos;
@@ -90,7 +92,6 @@ public class MiniWorldActivity extends BaseMvpActivity<IMiniWorldView, MiniWorld
initTitleBar(ResUtil.getString(R.string.miniworld_activity_miniworldactivity_01));
initViews();
mMiniWorldCategoryId = getIntent().getIntExtra(PARAM_MINI_WORLD_CATEGORY_ID, -1);
// showLoading();
firstLoadData();
}
@@ -177,14 +178,12 @@ public class MiniWorldActivity extends BaseMvpActivity<IMiniWorldView, MiniWorld
indicator.setLineHeight(UIUtil.dip2px(context, 4));
indicator.setLineWidth(UIUtil.dip2px(context, 18));
indicator.setRoundRadius(UIUtil.dip2px(context, 2));
// indicator.setStartInterpolator(new AccelerateInterpolator());
// indicator.setEndInterpolator(new DecelerateInterpolator(2.0f));
indicator.setColors(ContextCompat.getColor(context, R.color.appColor));
return indicator;
}
});
mMagicIndicator.setNavigator(commonNavigator);
mViewPager.setAdapter(new RoomContributeListAdapter(getSupportFragmentManager(), fragments));
mViewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), fragments));
ViewPagerHelper.bind(mMagicIndicator, mViewPager);
mViewPager.setOffscreenPageLimit(5);
mViewPager.setCurrentItem(position);

View File

@@ -21,10 +21,10 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.google.android.material.appbar.AppBarLayout;
@@ -126,7 +126,7 @@ public class MiniWorldGuestPageActivity extends BaseMvpActivity<IMiniWorldGuestP
private TextView tvUnReadCount;
private TextView tvOnLineNum;
private MagicIndicator miMiniWorld;
private ViewPager vpMiniWorld;
private ViewPager2 vpMiniWorld;
private LinearLayout llAudioParty;
private RecyclerView rvAudioParty;
private ImageView ivPublish;
@@ -175,40 +175,25 @@ public class MiniWorldGuestPageActivity extends BaseMvpActivity<IMiniWorldGuestP
commonNavigator.setAdapter(indicator);
miMiniWorld.setNavigator(commonNavigator);
ViewPagerHelper.bind(miMiniWorld, vpMiniWorld);
// 埋点用
vpMiniWorld.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
mMiniWorldNoticeFrg2 = MiniWorldNoticeFrg.newInstance();
vpMiniWorld.setOffscreenPageLimit(2);
vpMiniWorld.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
vpMiniWorld.setAdapter(new FragmentStateAdapter(getSupportFragmentManager(), getLifecycle()) {
@Override
public int getCount() {
public int getItemCount() {
return 2;
}
@NonNull
@Override
public Fragment getItem(int position) {
public Fragment createFragment(int position) {
if (position == 0) {
return WorldDynamicFragment.newInstance(JavaUtil.str2long(worldId), 0);
}
return mMiniWorldNoticeFrg2;
}
});
vpMiniWorld.setCurrentItem(0);

View File

@@ -21,6 +21,8 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.appbar.CollapsingToolbarLayout;
@@ -28,6 +30,7 @@ import com.netease.nim.uikit.StatusBarUtil;
import com.trello.rxlifecycle3.android.ActivityEvent;
import com.yizhuan.erban.R;
import com.yizhuan.erban.UIHelper;
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.community.dynamic.view.WorldDynamicFragment;
import com.yizhuan.erban.community.publish.view.PublishActivity;
@@ -91,7 +94,7 @@ public class TopicMainActivity extends BaseMvpActivity<IMiniWorldGuestPage, Mini
private TextView tvWorldDescription;// 世界描述
private MagicIndicator miMiniWorld;
private ViewPager vpMiniWorld;
private ViewPager2 vpMiniWorld;
private FrameLayout flPublish;
@@ -137,36 +140,20 @@ public class TopicMainActivity extends BaseMvpActivity<IMiniWorldGuestPage, Mini
commonNavigator.setAdapter(indicator);
miMiniWorld.setNavigator(commonNavigator);
ViewPagerHelper.bind(miMiniWorld, vpMiniWorld);
// 埋点用
vpMiniWorld.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
vpMiniWorld.setOffscreenPageLimit(2);
vpMiniWorld.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
vpMiniWorld.setAdapter(new FragmentStateAdapter(getSupportFragmentManager(), getLifecycle()) {
@Override
public int getCount() {
public int getItemCount() {
return 2;
}
@NonNull
@Override
public Fragment getItem(int position) {
public Fragment createFragment(int position) {
return WorldDynamicFragment.newInstance(JavaUtil.str2long(worldId), position);
}
});
vpMiniWorld.setCurrentItem(0);

View File

@@ -24,10 +24,11 @@
android:layout_height="48dp"
android:visibility="gone" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/magic_indicator" />
</com.yizhuan.erban.common.widget.StatusLayout>
</LinearLayout>

View File

@@ -23,7 +23,7 @@
android:layout_height="48dp"
android:background="@color/white" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:layout_below="@+id/magic_indicator"
android:id="@+id/view_pager"
android:layout_width="match_parent"

View File

@@ -270,7 +270,7 @@
android:layout_marginEnd="12dp"
android:layout_height="48dp" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp_mini_world"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -91,7 +91,7 @@
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp_mini_world"
android:layout_width="match_parent"
android:layout_height="match_parent"