总开服表 完成下个节点
This commit is contained in:
@ -146,6 +146,8 @@ public class KaiFuFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
private void setTabbarPosition(int index) {
|
||||
if (getParentFragment() instanceof KaiFuWrapperFragment)
|
||||
((KaiFuWrapperFragment) getParentFragment()).pageChange(index);
|
||||
switch (index) {
|
||||
case 0:
|
||||
mKaifuTabbarToday.setChecked(true);
|
||||
|
||||
@ -379,10 +379,6 @@ public class KaiFuVpAdapter extends BaseRecyclerAdapter {
|
||||
return mIsRemove;
|
||||
}
|
||||
|
||||
public int getDataListCount() {
|
||||
return mDataCount;
|
||||
}
|
||||
|
||||
public List<GameEntity> getDataList() {
|
||||
return mEntityList;
|
||||
}
|
||||
|
||||
@ -5,7 +5,9 @@ import android.support.annotation.Nullable;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v7.widget.DefaultItemAnimator;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.LinearSmoothScroller;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
@ -22,6 +24,7 @@ import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.entity.GameEntity;
|
||||
import com.gh.gamecenter.entity.KaiFuCalendarEntity;
|
||||
import com.gh.gamecenter.eventbus.EBDownloadStatus;
|
||||
import com.gh.gamecenter.eventbus.EBTypeChange;
|
||||
import com.lightgame.download.DataWatcher;
|
||||
import com.lightgame.download.DownloadEntity;
|
||||
|
||||
@ -61,6 +64,7 @@ public class KaiFuVpFragment extends BaseFragment {
|
||||
private LinearLayoutManager mLayoutManager;
|
||||
|
||||
private RelativeLayout.LayoutParams mLlparams;
|
||||
private RecyclerView.SmoothScroller mSmoothScroller;
|
||||
|
||||
private String mGameId;
|
||||
private String mDay;
|
||||
@ -143,9 +147,11 @@ public class KaiFuVpFragment extends BaseFragment {
|
||||
KaiFuCalendarEntity serverEntity = timeGameEntity.getServerEntity();
|
||||
if (serverEntity != null) {
|
||||
mKaifuItemTimeTv.setText(dateFm.format(serverEntity.getTime() * 1000));
|
||||
mKaifuItemTimeTv.setTag(serverEntity.getTime());
|
||||
}
|
||||
} else {
|
||||
mKaifuItemTimeTv.setText(dateFm.format(timeHint * 1000));
|
||||
mKaifuItemTimeTv.setTag(timeHint);
|
||||
}
|
||||
|
||||
// 悬挂界面移动
|
||||
@ -165,6 +171,12 @@ public class KaiFuVpFragment extends BaseFragment {
|
||||
}
|
||||
});
|
||||
|
||||
mSmoothScroller = new LinearSmoothScroller(getContext()) {
|
||||
@Override
|
||||
protected int getVerticalSnapPreference() {
|
||||
return LinearSmoothScroller.SNAP_TO_START;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -270,4 +282,42 @@ public class KaiFuVpFragment extends BaseFragment {
|
||||
mLoading.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private int getNextTimePosition() {
|
||||
Object tag = mKaifuItemTimeTv.getTag();
|
||||
if (tag instanceof Long) {
|
||||
List<GameEntity> dataList = mAdapter.getDataList();
|
||||
boolean b = false;
|
||||
for (int i = 0; i < dataList.size(); i++) {
|
||||
GameEntity gameEntity = dataList.get(i); // 注意:列表位置和mEntityList一一对应
|
||||
if (b && gameEntity.getKaifuTimeHint() != null) {
|
||||
return i;
|
||||
}
|
||||
if (tag.equals(gameEntity.getKaifuTimeHint())) {
|
||||
b = true;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// 滑动命令
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onEventMainThread(EBTypeChange status) {
|
||||
if (getUserVisibleHint() && (status.getPosition() == KaiFuWrapperFragment.CUR_ALL_KAIFU && TextUtils.isEmpty(mGameId)
|
||||
|| status.getPosition() == KaiFuWrapperFragment.CUR_GAME_KAIFU && !TextUtils.isEmpty(mGameId))) {
|
||||
String type = status.getType();
|
||||
if (KaiFuWrapperFragment.SKIP_NEXT_TIME.equals(type)) {
|
||||
int position = getNextTimePosition();
|
||||
if (position != -1) {
|
||||
mSmoothScroller.setTargetPosition(position);
|
||||
mLayoutManager.startSmoothScroll(mSmoothScroller);
|
||||
}
|
||||
} else if (KaiFuWrapperFragment.SKIP_CUR_TIME.equals(type)) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4,16 +4,22 @@ import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gh.common.util.EntranceUtils;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.eventbus.EBKaiFuReset;
|
||||
import com.gh.gamecenter.eventbus.EBTypeChange;
|
||||
import com.gh.gamecenter.normal.NormalFragment;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
|
||||
/**
|
||||
* Created by CsHeng on 14/12/2017.
|
||||
* <p>
|
||||
@ -24,10 +30,21 @@ public class KaiFuWrapperFragment extends NormalFragment {
|
||||
public static final String SINGLE_GAME_KAIFU = "SINGLE_GAME_KAIFU";
|
||||
public static final String ALL_GAME_KAIFU = "ALL_GAME_KAIFU";
|
||||
|
||||
public static final String SKIP_CUR_TIME = "SKIP_CUR_TIME";
|
||||
public static final String SKIP_NEXT_TIME = "SKIP_NEXT_TIME";
|
||||
public static final String SKIP_LIST_TOP = "SKIP_LIST_TOP";
|
||||
public static final int CUR_GAME_KAIFU = 1;
|
||||
public static final int CUR_ALL_KAIFU = -1;
|
||||
|
||||
private MenuItem mResetMenuItem;
|
||||
private KaiFuFragment mKaiFuFragment;
|
||||
private KaiFuFragment mGameKaiFuFragment;
|
||||
|
||||
@BindView(R.id.kaifu_skip_cur_time)
|
||||
View mSkipCurTime;
|
||||
@BindView(R.id.kaifu_skip_next_time)
|
||||
View mSkipNextTime;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.fragment_kaifu_wrapper;
|
||||
@ -99,4 +116,23 @@ public class KaiFuWrapperFragment extends NormalFragment {
|
||||
}
|
||||
}
|
||||
|
||||
public void pageChange(int index) {
|
||||
if (index == 0) {
|
||||
mSkipCurTime.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mSkipCurTime.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@OnClick({R.id.kaifu_skip_next_time, R.id.kaifu_skip_cur_time})
|
||||
public void onViewClick(View view) {
|
||||
if (view.getId() == R.id.kaifu_skip_next_time) {
|
||||
EventBus.getDefault().post(new EBTypeChange(SKIP_NEXT_TIME, mGameKaiFuFragment != null && mGameKaiFuFragment.isVisible()
|
||||
? CUR_GAME_KAIFU : CUR_ALL_KAIFU));
|
||||
} else {
|
||||
EventBus.getDefault().post(new EBTypeChange(SKIP_CUR_TIME, mGameKaiFuFragment != null && mGameKaiFuFragment.isVisible()
|
||||
? CUR_GAME_KAIFU : CUR_ALL_KAIFU));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user