文章标题

添加侧拉菜单

//1.将activity改为继承SlidingFragmentActivity,这样activity才能去管理侧拉菜单
public class MainActivity extends SlidingFragmentActivity {

    private SlidingMenu slidingMenu;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.content);

        //添加侧拉菜单slidingmenu
        //2.添加侧拉菜单
        //2.1获取侧拉菜单
        slidingMenu = getSlidingMenu();
        //2.2设置侧拉菜单的布局
        setBehindContentView(R.layout.menu);
        //2.3设置侧拉的方向
        //LEFT : 左边
        //LEFT_RIGHT : 左右
        //RIGHT : 右边
        slidingMenu.setMode(SlidingMenu.LEFT);
        //2.4设置侧拉菜单或者内容页的显示宽度
        //设置侧拉菜单宽度
        //slidingMenu.setBehindWidth(220);//i 表示像素
        //slidingMenu.setBehindWidthRes(res);//res 在dimens.xml文件设置宽度
        //设置内容页的宽度
        //lidingMenu.setBehindOffset(i);//i表示是内容页宽度
        slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_content_width);
        //2.5设置侧拉菜单分割线
        //设置分割线的样式
        slidingMenu.setShadowDrawable(R.drawable.shadow);
        //设置分割线的宽度
        //slidingMenu.setShadowWidth(pixels);//pixels:分割线的宽度
        slidingMenu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);//resid:表示dimens.xml设置的参数
        //2.6设置滑动范围
        //TOUCHMODE_FULLSCREEN : 全屏触摸
        //TOUCHMODE_MARGIN : 分隔线触摸
        //TOUCHMODE_NONE : 不允许触摸
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    }
}

设置侧拉菜单布局

1.创建MenuFragment,并使用textview简单测试
        public class MenuFragment extends Fragment {
            //初始化数据
            @Override
            public void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
            }
            //设置fragment布局样式
            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState) {
                TextView textView = new TextView(getActivity());
                textView.setText("侧拉菜单");
                return textView;
            }
            //填充数据
            @Override
            public void onActivityCreated(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onActivityCreated(savedInstanceState);
            }

        }
2.填充fragment
        //3.设置侧拉菜单显示布局,填充数据
        //填充fragment,因为侧拉菜单的布局在Mainactivity中加载
        //3.1创建fragment
        MenuFragment menuFragment = new MenuFragment();
        //3.2获取fragment管理者
        //.findFragmentByTag(arg0) : 根据标示获取fragment,arg0:fragment的标示
        getSupportFragmentManager()
        //3.3开始事务
        .beginTransaction()
        //3.4添加fragment
        //arg0 : fragment替换的控件
        //arg1 : 替换的fragment
        //arg2 : fragment标示,方便我们后期通过这个标示找到fragment
        .replace(R.id.menu, menuFragment, "MENU")
        //3.5提交
        .commit();

设置侧拉菜单显示listview数据

1.创建一个MenuFragment的布局文件 menu_left
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <ListView 
            android:id="@+id/lv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            ></ListView>

    </LinearLayout>
2.初始化控件,并设置相应的adapter
    //设置fragment布局样式
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
//      TextView textView = new TextView(getActivity());
//      textView.setText("侧拉菜单");
        //将布局文件转化成view对象
        View view = View.inflate(getActivity(), R.layout.menu_left, null);
        lv = (ListView) view.findViewById(R.id.lv);
        //android.R.layout.simple_list_item_1 : android系统设置好的布局文件,其中就只有一个id为text1的textview
        //android.R.id.text1 : 数据要填充的textivew的id
        lv.setAdapter(new ArrayAdapter<String>(getActivity(), 
                                        android.R.layout.simple_list_item_1, 
                                        android.R.id.text1, 
                                        initData()));
        return view;
    }

initData方法
    /**
     * 设置listview填充数据
     * @return
     */
    private List<String> initData() {
        List<String> list  = new ArrayList<String>();
        list.add("Fragment0");
        list.add("Fragment1");
        list.add("Fragment2");
        list.add("Fragment3");
        list.add("Fragment4");
        return list;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值