package cn.coderss.activity; import com.special.ResideMenu.ResideMenu; import com.special.ResideMenu.ResideMenuItem; import cn.coderss.baidulbs.RoutePlan; import cn.coderss.edu.R; import cn.coderss.fragment.BBSFragment; import cn.coderss.fragment.DocumentFragment; import cn.coderss.fragment.MainFragment; import cn.coderss.fragment.NoteFragment; import cn.coderss.fragment.ProblemFragment; import cn.coderss.fragment.TestFragment; import cn.coderss.util.L; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import android.view.Menu; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.SearchView; import android.widget.TabHost; import android.widget.Toast; public class MainActivity extends FragmentActivity implements View.OnClickListener { private ResideMenu resideMenu; private MainActivity mContext; private ResideMenuItem itemNote, itemMain, itemBBs, itemTest, itemProblem, itemDocument, itemPerson, itemTag, itemMap; private SearchView searchView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; // 设置目录 setUpMenu(); initView(); } @SuppressLint("NewApi") public void initView() { searchView = (SearchView) findViewById(R.id.search); searchView.setQueryHint("搜索您需要的资源"); } public void setUpMenu() { // attach to current activity; resideMenu = new ResideMenu(this); resideMenu.setBackground(R.drawable.menu_background); resideMenu.attachToActivity(this); resideMenu.setMenuListener(menuListener); resideMenu.setScaleValue(0.6f); // 建立起item itemMain = new ResideMenuItem(this, R.drawable.icon_profile, "视频"); itemMain.setOnClickListener(this); itemNote = new ResideMenuItem(mContext, R.drawable.icon_profile, "笔记"); itemNote.setOnClickListener(this); itemDocument = new ResideMenuItem(mContext, R.drawable.icon_profile, "资料库"); itemDocument.setOnClickListener(this); itemBBs = new ResideMenuItem(mContext, R.drawable.icon_profile, "贴吧"); itemBBs.setOnClickListener(this); itemProblem = new ResideMenuItem(mContext, R.drawable.icon_profile, "提问"); itemProblem.setOnClickListener(this); itemTest = new ResideMenuItem(mContext, R.drawable.icon_profile, "考试"); itemTest.setOnClickListener(this); itemPerson = new ResideMenuItem(mContext, R.drawable.icon_profile, "个人中心"); itemPerson.setOnClickListener(this); itemTag = new ResideMenuItem(mContext, R.drawable.icon_profile, "随机资源"); itemTag.setOnClickListener(this); itemMap = new ResideMenuItem(mContext, R.drawable.icon_profile, "地图导航"); itemMap.setOnClickListener(this); /** * Left */ resideMenu.addMenuItem(itemMain, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemNote, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemBBs, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemDocument, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemProblem, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemTest, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemPerson, ResideMenu.DIRECTION_LEFT); /** * Right */ resideMenu.addMenuItem(itemTag, ResideMenu.DIRECTION_RIGHT); resideMenu.addMenuItem(itemMap, ResideMenu.DIRECTION_RIGHT); // 不想滑动的一面 // resideMenu.setSwipeDirectionDisable(ResideMenu.DIRECTION_RIGHT); // 默认首页加载进去 changeFragment(new MainFragment(mContext)); /** * 左右按钮 */ findViewById(R.id.title_bar_left_menu).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { resideMenu.openMenu(ResideMenu.DIRECTION_LEFT); } }); findViewById(R.id.title_bar_right_menu).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { resideMenu.openMenu(ResideMenu.DIRECTION_RIGHT); } }); } private ResideMenu.OnMenuListener menuListener = new ResideMenu.OnMenuListener() { @Override public void openMenu() { // Toast.makeText(mContext, "Menu is opened!", // Toast.LENGTH_SHORT).show(); } @Override public void closeMenu() { // Toast.makeText(mContext, "Menu is closed!", // Toast.LENGTH_SHORT).show(); } }; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View view) { Button btn = (Button) findViewById(R.id.title_bar_right_menu); // 首先关掉menu if (view == itemProblem) { btn.setVisibility(View.GONE); } else { btn.setVisibility(View.VISIBLE); } if (view == itemMain) { changeFragment(new MainFragment(mContext)); } else if (view == itemTest) { changeFragment(new TestFragment(mContext, this.resideMenu)); } else if (view == itemBBs) { changeFragment(new BBSFragment(mContext)); } else if (view == itemNote) { changeFragment(new NoteFragment(mContext)); } else if (view == itemDocument) { changeFragment(new DocumentFragment(mContext)); } else if (view == itemProblem) { changeFragment(new ProblemFragment(mContext)); } else if (view == itemPerson) { Intent it = new Intent(this, PersonActivity.class); startActivity(it); } else if (view == itemTag) { Intent it = new Intent(this, TagActivity.class); startActivity(it); } else if (view == itemMap) { // 地图导航 startActivity(new Intent(this, RoutePlan.class)); } } @Override public boolean dispatchTouchEvent(MotionEvent ev) { L.i("Activity dispatchTouchEvent"); return resideMenu.dispatchTouchEvent(ev); } private void changeFragment(Fragment targetFragment) { resideMenu.clearIgnoredViewList(); getSupportFragmentManager().beginTransaction() .replace(R.id.main_fragment, targetFragment, "fragment") .setTransitionStyle(FragmentTransaction.TRANSIT_FRAGMENT_FADE) .commit(); } }