java文件
package com.qsyy.liveassistant.view.activity.personal;
import android.support.design.widget.TabLayout;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.qsyy.liveassistant.R;
import com.qsyy.liveassistant.contract.person.PersonalContract;
import com.qsyy.liveassistant.model.entity.Level;
import com.qsyy.liveassistant.presenter.login.PersonalPresenter;
import com.qsyy.liveassistant.widget.base.BaseActivity;
import java.util.ArrayList;
import java.util.List;
import rx.Subscriber;
/**
* Created by huxiubo on 2017/8/29.
*
* 个人的各种他妈的主页
* 分三个部分
* 1)头部view,包括头像昵称等信息
* 2)各种数据
* 3)各种曲线图
*
*
*/
public class IncomePersonalDataActivity extends BaseActivity implements PersonalContract.View, ViewPager.OnPageChangeListener, TabLayout.OnTabSelectedListener {
@ViewInject(R.id.view_base_id)
private View baseView;
private ImageView backView;
@ViewInject(R.id.tabLayout)
private TabLayout tabLayout;
@ViewInject(R.id.viewPager)
private ViewPager viewPager;
/**页卡视图集合*/
private List<View> mViewList = new ArrayList<>();
private LayoutInflater mInflater;
/**
* 个人类型
* 1、好友主页
* 2、我的二级主播个人主页
* 3、我的数据主页
* 4、我的一级主播个人主页
* 5、一级主播个人主页
* 6、直属主播个人主页
*/
private int type = 2;
private MyPagerAdapter mAdapter;
/**
* 页卡标题集合
* */
private List<String> mTitleList = new ArrayList<>();
private PersonalContract.Presenter mPresenter;
@Override
public int layoutID() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
return R.layout.activity_income_personal;
}
@Override
public void init() {
backView = (ImageView) baseView.findViewById(R.id.iv_personal_back);
setOnClickListener();
mInflater = LayoutInflater.from(this);
loadView();
mAdapter = new MyPagerAdapter(mViewList);
viewPager.setAdapter(mAdapter);
tabLayout.setupWithViewPager(viewPager);
mPresenter = new PersonalPresenter(this, this);
mPresenter.getUserLevel("aaa", new Subscriber<Level>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Level level) {
}
});
}
private void loadView() {
switch (type) {
case 1:
View view1 = mInflater.inflate(R.layout.view1, null);
View view2 = mInflater.inflate(R.layout.view2, null);
mViewList.add(view1);
mViewList.add(view2);
mTitleList.add("主播");
mTitleList.add("好友");
break;
case 2:
case 4:
View view3 = mInflater.inflate(R.layout.view1, null);
View view4 = mInflater.inflate(R.layout.view2, null);
View view5 = mInflater.inflate(R.layout.income_data_layout, null);
mViewList.add(view3);
mViewList.add(view4);
mViewList.add(view5);
mTitleList.add("数据");
mTitleList.add("主播");
mTitleList.add("好友");
break;
case 3:
case 5:
View view6 = mInflater.inflate(R.layout.view1, null);
View view7 = mInflater.inflate(R.layout.view2, null);
View view8 = mInflater.inflate(R.layout.income_data_layout, null);
mViewList.add(view6);
mViewList.add(view7);
mViewList.add(view8);
mTitleList.add("昨日");
mTitleList.add("7日");
mTitleList.add("30日");
break;
case 6:
View view9 = mInflater.inflate(R.layout.view1, null);
View view10 = mInflater.inflate(R.layout.view2, null);
mViewList.add(view9);
mViewList.add(view10);
mTitleList.add("收益");
mTitleList.add("主播");
break;
}
}
private void setOnClickListener() {
backView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.rl_left_click:
finish();
break;
}
}
@Override
public void setPresenter(PersonalContract.Presenter presenter) {
mPresenter = presenter;
}
private void checkBtn(int checkPos) {
switch (checkPos) {
case 0:
// attentionLiveFragment.reqAttentionLiveList();
// mParepareLive.setVisibility(View.INVISIBLE);
break;
case 1:
// mParepareLive.setVisibility(View.VISIBLE);
}
viewPager.setCurrentItem(checkPos);
}
private void checkBtn(TabLayout.Tab tab) {
int checkPos = 0;
if (tab == tabLayout.getTabAt(0)) {
checkPos = 0;
} else if (tab == tabLayout.getTabAt(1)) {
checkPos = 1;
}
checkBtn(checkPos);
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
checkBtn(tab);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
checkBtn(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
class MyPagerAdapter extends PagerAdapter {
private List<View> mViewList;
public MyPagerAdapter(List<View> mViewList) {
this.mViewList = mViewList;
}
@Override
public int getCount() {
return mViewList.size();//页卡数
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;//官方推荐写法
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mViewList.get(position));//添加页卡
return mViewList.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mViewList.get(position));//删除页卡
}
@Override
public CharSequence getPageTitle(int position) {
return mTitleList.get(position);
}
}
}
layout文件
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/fragment_personal_bg_gray"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:scrollbars="none">
<!--<com.qsyy.liveassistant.widget.person.PersonInfoBasicView-->
<!--android:id="@+id/person_basic_view"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content" />-->
<include
android:id="@+id/view_base_id"
layout="@layout/view_personal_basic_view" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:orientation="horizontal">
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_gravity="top"
android:layout_weight="2.5"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:tabIndicatorColor="@color/color_3897fa"
app:tabIndicatorHeight="3dp"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/color_3897fa"
app:tabTextAppearance="@style/PersonalTabLayoutTextStyle"
app:tabTextColor="@color/color_a0a0a0" />
</LinearLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
网友评论