標籤:
最近從github上看到一個關於側邊欄的項目,模仿的是qq側邊欄。
Github地址是https://github.com/SpecialCyCi/AndroidResideMenu ,這個項目是一個android studio項目,可以匯入android studio中,也可以匯入到Eclipse中。
其中的ResideMenu就是寫好的第三方控制項,可以拿過來直接用。我們主要來看一下它是如何來運用的
public class MenuActivity extends FragmentActivity implements View.OnClickListener{ private ResideMenu resideMenu; private MenuActivity mContext; private ResideMenuItem itemHome; private ResideMenuItem itemProfile; private ResideMenuItem itemCalendar; private ResideMenuItem itemSettings; /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mContext = this; setUpMenu(); if( savedInstanceState == null ) changeFragment(new HomeFragment()); } private void setUpMenu() { // attach to current activity; resideMenu = new ResideMenu(this); resideMenu.setBackground(R.drawable.menu_background); resideMenu.attachToActivity(this); resideMenu.setMenuListener(menuListener); //valid scale factor is between 0.0f and 1.0f. leftmenu‘width is 150dip. resideMenu.setScaleValue(0.6f); // create menu items; itemHome = new ResideMenuItem(this, R.drawable.icon_home, "Home"); itemProfile = new ResideMenuItem(this, R.drawable.icon_profile, "Profile"); itemCalendar = new ResideMenuItem(this, R.drawable.icon_calendar, "Calendar"); itemSettings = new ResideMenuItem(this, R.drawable.icon_settings, "Settings"); itemHome.setOnClickListener(this); itemProfile.setOnClickListener(this); itemCalendar.setOnClickListener(this); itemSettings.setOnClickListener(this); resideMenu.addMenuItem(itemHome, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemProfile, ResideMenu.DIRECTION_LEFT); resideMenu.addMenuItem(itemCalendar, ResideMenu.DIRECTION_RIGHT); resideMenu.addMenuItem(itemSettings, ResideMenu.DIRECTION_RIGHT); // You can disable a direction by setting -> // resideMenu.setSwipeDirectionDisable(ResideMenu.DIRECTION_RIGHT); 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); } });}
其中的ResideMenuItem是我們側邊欄中的選項,這裡建立了四個選項,同時這個控制項還具有左右側邊欄的效果,能夠左右滑動。當然我們也可以設定選項在右側邊欄出現。在調用resideMenu.addMenuItem來設定在哪個側邊欄顯示。
每一個選項則可以用來顯示不同的Fragment。這個開源項目還是很不錯的,是一個比較流行的側邊欄樣式。
如果大家有什麼問題,也歡迎大家和我交流。想要進一步瞭解的同學,可以點擊查看原始碼,親自運行體驗!
傑瑞教育
出處:http://www.cnblogs.com/jerehedu/
本文著作權歸煙台傑瑞教育科技有限公司和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。
Android實現仿qq側邊欄效果