public class MainActivity extends SlidingFragmentActivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); show(); } private void show() { //设置侧滑菜单的布局文件 setBehindContentView(R.layout.menu); //得到fergment管理者 FragmentManager fragmentManager = getSupportFragmentManager(); //开启事务 FragmentTransaction transaction = fragmentManager.beginTransaction(); //提交事务 transaction.replace(R.id.fragment_menu, new MyFragment(),"right").commit(); //得到slidingMenu实例 SlidingMenu slidingMenu = getSlidingMenu(); //设置滑出方向模式 slidingMenu.setMode(SlidingMenu.RIGHT); //设置滑出位置 slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); //设置渐变 slidingMenu.setFadeDegree(0.5f); //设置滑出后,Activity剩余的宽度 slidingMenu.setBehindOffset(100); } /** *友盟第三方登录 */ public void UM(){ Toast.makeText(this, "进行第三方登录 ", 1).show(); } }
public class MyFragment extends Fragment { private View view; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = View.inflate(getActivity(), R.layout.frgment_menu, null); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { TextView textView = (TextView) view.findViewById(R.id.textView); textView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getActivity(), " 点击了侧滑菜单 ", 0).show(); // 得到当前Fragment所依附的activity MainActivity mainActivity = (MainActivity) getActivity(); // 调用activity的方法 mainActivity.UM(); } }); super.onActivityCreated(savedInstanceState); } }
menu <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:id="@+id/fragment_menu" android:layout_height="match_parent" android:orientation="vertical" > </FrameLayout>
fragment_menu <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="侧滑菜单" /> </RelativeLayout>