package com.charon.video;
import com.charon.video.fragment.LiveFragment;
import com.charon.video.fragment.LocalFragment;
import com.charon.video.fragment.OnlineFragment;
import com.charon.video.view.ScrollingTabs;
import com.charon.video.view.ScrollingTabs.TabAdapter;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends FragmentActivity {
private ScrollingTabs mScrollingTabs;
private ViewPager mViewPager;
private TabAdapter mTabAdapter;
private PagerAdapter mPagerAdapter;
private List<Fragment> mFragments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findView();
initView();
}
private void findView() {
mScrollingTabs = (ScrollingTabs) findViewById(R.id.st_main);
mViewPager = (ViewPager) findViewById(R.id.vp_main);
}
private void initView() {
mFragments = new ArrayList<Fragment>();
addFragments();
mTabAdapter = new VideoTabAdapter();
mPagerAdapter = new VideoPagerAdapter(getSupportFragmentManager());
mScrollingTabs.setEqualWidth(true);
mViewPager.setAdapter(mPagerAdapter);
mScrollingTabs.setViewPager(mViewPager);
mScrollingTabs.setTabAdapter(mTabAdapter);
}
private void addFragments() {
mFragments.add(OnlineFragment.getInstance());
mFragments.add(LocalFragment.getInstance());
mFragments.add(LiveFragment.getInstance());
}
private class VideoPagerAdapter extends FragmentPagerAdapter {
public VideoPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (mFragments != null) {
return mFragments.get(position);
}
return null;
}
@Override
public int getCount() {
if (mFragments != null) {
return mFragments.size();
}
return 0;
}
}
private class VideoTabAdapter implements TabAdapter {
@Override
public View getView(int position) {
View view = View.inflate(MainActivity.this, R.layout.item_tab, null);
TextView tv_title = (TextView) view.findViewById(R.id.tv_tabs);
if (position == 0) {
tv_title.setText("OnLine");
} else if (position == 1) {
tv_title.setText("Local");
} else if (position == 2) {
tv_title.setText("Live");
}
return view;
}
@Override
public View getSeparator() {
View view = new View(MainActivity.this);
view.setBackgroundColor(Color.GRAY);
view.setLayoutParams(new LayoutParams(1, LayoutParams.MATCH_PARENT));
return view;
}
@Override
public void onTabSelected(int position, ViewGroup mContainer) {
View tab = (View) mContainer.getChildAt(position);
TextView tv = (TextView) tab.findViewById(R.id.tv_tabs);
ImageView iv = (ImageView) tab.findViewById(R.id.iv_tabs);
tv.setTextColor(Color.GREEN);
iv.setVisibility(View.VISIBLE);
}
@Override
public void onTabUnSelected(int position, ViewGroup mContainer) {
View tab = (View) mContainer.getChildAt(position);
TextView tv = (TextView) tab.findViewById(R.id.tv_tabs);
ImageView iv = (ImageView) tab.findViewById(R.id.iv_tabs);
tv.setTextColor(Color.BLACK);
iv.setVisibility(View.INVISIBLE);
}
}
}