package com.ntp.ui; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.ntp.ui.course.CourseListFragment; import com.ntp.ui.course.SearchCourseActivity; import com.ntp.ui.me.MeFragment; import com.ntp.ui.notice.NoticeFragment; import com.ntp.adapter.FragAdapter; import com.ntp.base.BaseActivity; import com.ntp.util.AppConfig; import com.ntp.util.AppUtil; import org.xutils.view.annotation.ContentView; import org.xutils.view.annotation.Event; import org.xutils.view.annotation.ViewInject; import java.util.ArrayList; import java.util.List; /** * 主程序 */ @ContentView(R.layout.activity_main) public class MainActivity extends BaseActivity{ @ViewInject(R.id.viewPager) private ViewPager mViewPager; //底部功能导航图片和文字课程,消息(作业),我 @ViewInject(R.id.allCourse) private ImageView mAllCourse; @ViewInject(R.id.homework) private ImageView mHomework; @ViewInject(R.id.me) private ImageView mMe; @ViewInject(R.id.courseTxt) private TextView mCourseTxt; @ViewInject(R.id.homeworkTxt) private TextView mHomeworkTxt; @ViewInject(R.id.meTxt) private TextView mMeTxt; //消息红点 @ViewInject(R.id.noticeRed) private ImageView mNoticeRed; @ViewInject(R.id.tip) private TextView mTip; @ViewInject(R.id.search) private LinearLayout search; private FragAdapter fragAdapter; //课程、消息、我三个fragment private List<Fragment> fragments; private static final String COURSE = "课程"; private static final String NOTICE = "消息"; private static final String ME = "我"; /** * 应用退出 */ public static final String EXIT_ACTION = "com.ntp.exit.action"; /** * 显示消息红点 */ public static final String SHOW_NOTICE_ACTION = "com.ntp.notice.action"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initView(); } /** * 设置底部导航 */ void initView() { if (AppConfig.isNoticeRed(getApplicationContext())){ mNoticeRed.setVisibility(View.VISIBLE); } fragments = new ArrayList<Fragment>(); fragments.add(new CourseListFragment()); fragments.add(new NoticeFragment()); fragments.add(new MeFragment()); fragAdapter = new FragAdapter(getSupportFragmentManager(), fragments); mViewPager.setAdapter(fragAdapter); mViewPager.setCurrentItem(0);//设置默认显示CourseListFragment界面 mViewPager.setOnPageChangeListener(new MyViewPagerChangeListener()); setSwipeBackEnable(false); } @Override protected void onResume() { super.onResume(); if (AppConfig.isNoticeRed(getApplicationContext())){ mNoticeRed.setVisibility(View.VISIBLE); }else { mNoticeRed.setVisibility(View.INVISIBLE); } IntentFilter filter = new IntentFilter(); filter.addAction(EXIT_ACTION); filter.addAction(SHOW_NOTICE_ACTION); registerReceiver(mBroadcastReceiver, filter); } //广播处理 private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(EXIT_ACTION)) { finish(); } else if (intent.getAction().equals(SHOW_NOTICE_ACTION)) { mNoticeRed.setVisibility(View.VISIBLE); } } }; //点击事件,必须私有 @Event(value = {R.id.allCourse, R.id.homework, R.id.me, R.id.search}) private void onClick(View v) { switch (v.getId()) { case R.id.allCourse: mViewPager.setCurrentItem(0); break; case R.id.homework: mViewPager.setCurrentItem(1); break; case R.id.me: mViewPager.setCurrentItem(2); break; case R.id.search: Intent searchIntent = new Intent(this, SearchCourseActivity.class); startActivity(searchIntent); break; } } /** * ViewPager切换监听 */ private class MyViewPagerChangeListener implements ViewPager.OnPageChangeListener { @Override public void onPageScrolled(int i, float v, int i2) { } @Override public void onPageSelected(int position) { switch (position) { case 0://CourseListFragment被选中 setTextColor(0); mTip.setText(COURSE); search.setVisibility(View.VISIBLE); break; case 1://NoticeFragment被选择 setTextColor(1); mTip.setText(NOTICE); search.setVisibility(View.INVISIBLE); break; case 2://MeFragment被选择 setTextColor(2); mTip.setText(ME); search.setVisibility(View.INVISIBLE); } } @Override public void onPageScrollStateChanged(int i) { } /** * 设置Fragment被选中时菜单图片、文字颜色 * * @param position Fragment索引值 */ public void setTextColor(int position) { mAllCourse.setImageDrawable(getResources().getDrawable(R.drawable.homepage_normal)); mHomework.setImageDrawable(getResources().getDrawable(R.drawable.homework_normal)); mMe.setImageDrawable(getResources().getDrawable(R.drawable.me_normal)); mCourseTxt.setTextColor(getResources().getColor(R.color.menu_text_reserve)); mHomeworkTxt.setTextColor(getResources().getColor(R.color.menu_text_reserve)); mMeTxt.setTextColor(getResources().getColor(R.color.menu_text_reserve)); if (position == 0) {//CourseListFragment被选中 mAllCourse.setImageDrawable(getResources().getDrawable(R.drawable.homepage_pressed_d)); mCourseTxt.setTextColor(getResources().getColor(R.color.blue_3)); } else if (position == 1) {//NoticeFragment被选择 mHomework.setImageDrawable(getResources().getDrawable(R.drawable.homework_pressed_d)); mHomeworkTxt.setTextColor(getResources().getColor(R.color.blue_3)); } else if (position == 2) {//MeFragment被选择 mMe.setImageDrawable(getResources().getDrawable(R.drawable.me_pressed_d)); mMeTxt.setTextColor(getResources().getColor(R.color.blue_3)); } } } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mBroadcastReceiver); } }