188 lines
6.9 KiB
Java
188 lines
6.9 KiB
Java
package com.gh.gamecenter;
|
|
|
|
import android.os.Bundle;
|
|
import android.support.v4.app.Fragment;
|
|
import android.support.v4.view.ViewPager;
|
|
import android.util.DisplayMetrics;
|
|
import android.view.Gravity;
|
|
import android.view.View;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.TextView;
|
|
|
|
import com.gh.base.BaseFragmentActivity;
|
|
import com.gh.common.util.DisplayUtils;
|
|
import com.gh.common.view.NoScrollableViewPager;
|
|
import com.gh.gamecenter.adapter.FragmentAdapter;
|
|
import com.gh.gamecenter.eventbus.EBReuse;
|
|
import com.gh.gamecenter.eventbus.EBUISwitch;
|
|
import com.gh.gamecenter.libao.Libao1Fragment;
|
|
import com.gh.gamecenter.libao.Libao2Fragment;
|
|
import com.gh.gamecenter.libao.Libao3Fragment;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import butterknife.BindView;
|
|
import de.greenrobot.event.EventBus;
|
|
|
|
/**
|
|
* Created by khy on 2016/12/12.
|
|
*
|
|
*/
|
|
public class LibaoActivity extends BaseFragmentActivity implements View.OnClickListener,
|
|
ViewPager.OnPageChangeListener {
|
|
|
|
@BindView(R.id.libao_vp_content) NoScrollableViewPager mLibaoVp;
|
|
@BindView(R.id.libao_ll_top) LinearLayout mLibaoTopLl;
|
|
@BindView(R.id.libao_slide_line) View mLibaoLine;
|
|
@BindView(R.id.vp_tab) LinearLayout mTabLl;
|
|
@BindView(R.id.libao_history_title) TextView mHistoryTitle;
|
|
|
|
private TextView mZuixinTv;
|
|
private TextView mGuanzhuTv;
|
|
private TextView mChunhaoxiangTv;
|
|
|
|
private int currentItem;
|
|
private int width;
|
|
|
|
private LinearLayout.LayoutParams lparams;
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
View view = View.inflate(this, R.layout.activity_libao, null);
|
|
init(view, "礼包中心");
|
|
|
|
initTextView();
|
|
|
|
List<Fragment> list = new ArrayList<>();
|
|
list.add(new Libao1Fragment());
|
|
list.add(new Libao2Fragment());
|
|
list.add(new Libao3Fragment());
|
|
mLibaoVp.setAdapter(new FragmentAdapter(getSupportFragmentManager(), list));
|
|
mLibaoVp.addOnPageChangeListener(this);
|
|
|
|
DisplayMetrics outMetrics = new DisplayMetrics();
|
|
getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
|
|
width = outMetrics.widthPixels / 3;
|
|
lparams = new LinearLayout.LayoutParams(width / 2,
|
|
DisplayUtils.dip2px(this, 2));
|
|
lparams.leftMargin = (int) (width * (currentItem + 0.25f));
|
|
mLibaoLine.setLayoutParams(lparams);
|
|
|
|
mLibaoTopLl.postDelayed(new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
EventBus.getDefault().post(new EBUISwitch("LibaoActivity", 0));
|
|
}
|
|
}, 100);
|
|
|
|
}
|
|
|
|
private void initTextView() {
|
|
mZuixinTv = new TextView(this);
|
|
mZuixinTv.setText("最新");
|
|
if (currentItem == 0) {
|
|
mZuixinTv.setTextColor(getResources().getColor(R.color.theme));
|
|
} else {
|
|
mZuixinTv.setTextColor(getResources().getColor(R.color.title));
|
|
}
|
|
mZuixinTv.setGravity(Gravity.CENTER);
|
|
mZuixinTv.setOnClickListener(this);
|
|
LinearLayout.LayoutParams lparams1 = new LinearLayout.LayoutParams(
|
|
0, DisplayUtils.dip2px(this, 35));
|
|
lparams1.weight = 1;
|
|
mLibaoTopLl.addView(mZuixinTv, lparams1);
|
|
|
|
mGuanzhuTv = new TextView(this);
|
|
mGuanzhuTv.setText("关注");
|
|
if (currentItem == 1) {
|
|
mGuanzhuTv.setTextColor(getResources().getColor(R.color.theme));
|
|
} else {
|
|
mGuanzhuTv.setTextColor(getResources().getColor(R.color.title));
|
|
}
|
|
mGuanzhuTv.setGravity(Gravity.CENTER);
|
|
mGuanzhuTv.setOnClickListener(this);
|
|
LinearLayout.LayoutParams lparams2 = new LinearLayout.LayoutParams(
|
|
0, DisplayUtils.dip2px(this, 35));
|
|
lparams2.weight = 1;
|
|
mLibaoTopLl.addView(mGuanzhuTv, lparams2);
|
|
|
|
mChunhaoxiangTv = new TextView(this);
|
|
mChunhaoxiangTv.setText("存号箱");
|
|
if (currentItem == 2) {
|
|
mChunhaoxiangTv.setTextColor(getResources().getColor(R.color.theme));
|
|
} else {
|
|
mChunhaoxiangTv.setTextColor(getResources().getColor(R.color.title));
|
|
}
|
|
mChunhaoxiangTv.setGravity(Gravity.CENTER);
|
|
mChunhaoxiangTv.setOnClickListener(this);
|
|
LinearLayout.LayoutParams lparams3 = new LinearLayout.LayoutParams(
|
|
0, DisplayUtils.dip2px(this, 35));
|
|
lparams3.weight = 1;
|
|
mLibaoTopLl.addView(mChunhaoxiangTv, lparams3);
|
|
}
|
|
|
|
@Override
|
|
public void onClick(View v) {
|
|
if (v == mZuixinTv) {
|
|
mLibaoVp.setCurrentItem(0);
|
|
} else if (v == mGuanzhuTv) {
|
|
mLibaoVp.setCurrentItem(1);
|
|
} else if (v == mChunhaoxiangTv) {
|
|
mLibaoVp.setCurrentItem(2);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
|
if (positionOffset != 0) {
|
|
lparams.leftMargin = (int) (width * (position + positionOffset + 0.25f));
|
|
mLibaoLine.setLayoutParams(lparams);
|
|
} else {
|
|
if (currentItem != mLibaoVp.getCurrentItem()) {
|
|
currentItem = mLibaoVp.getCurrentItem();
|
|
EventBus.getDefault().post(new EBUISwitch("LibaoActivity", currentItem));
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onPageSelected(int position) {
|
|
if (position == 0){
|
|
mZuixinTv.setTextColor(getResources().getColor(R.color.theme));
|
|
mGuanzhuTv.setTextColor(getResources().getColor(R.color.title));
|
|
mChunhaoxiangTv.setTextColor(getResources().getColor(R.color.title));
|
|
} else if (position == 1) {
|
|
mZuixinTv.setTextColor(getResources().getColor(R.color.title));
|
|
mGuanzhuTv.setTextColor(getResources().getColor(R.color.theme));
|
|
mChunhaoxiangTv.setTextColor(getResources().getColor(R.color.title));
|
|
} else if (position == 2) {
|
|
mZuixinTv.setTextColor(getResources().getColor(R.color.title));
|
|
mGuanzhuTv.setTextColor(getResources().getColor(R.color.title));
|
|
mChunhaoxiangTv.setTextColor(getResources().getColor(R.color.theme));
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onPageScrollStateChanged(int state) {
|
|
|
|
}
|
|
|
|
// 页面切换事件(查看历史礼包的页面)
|
|
public void onEventMainThread(EBReuse reuse) {
|
|
if ("openPage".equals(reuse.getType())) { //TODO 设置新的TAB
|
|
mLibaoTopLl.setVisibility(View.GONE);
|
|
mLibaoLine.setVisibility(View.GONE);
|
|
mHistoryTitle.setVisibility(View.VISIBLE);
|
|
mHistoryTitle.setTextColor(getResources().getColor(R.color.hint));
|
|
mLibaoVp.setScrollable(false);
|
|
} else if ("closePage".equals(reuse.getType())) {
|
|
mLibaoTopLl.setVisibility(View.VISIBLE);
|
|
mLibaoLine.setVisibility(View.VISIBLE);
|
|
mHistoryTitle.setVisibility(View.GONE);
|
|
mLibaoVp.setScrollable(true);
|
|
}
|
|
}
|
|
}
|