SlidingMenu

Android SlidingMenu 基本使用

2017/10/22 13:33:36


GIT地址

https://github.com/jfeinstein10/SlidingMenu

使用

  • 下载
  • 导入Android Studio
  • 修复错误
  • 开始编码

基本代码

效果

代码

  • MainActivity (使用SlidingMenu 创建实例)

    public class MainActivity extends AppCompatActivity {
    
    
        private ImageView image_view;
    
        private ListView list_view;
    
        private List<String> list;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //创建实例
            SlidingMenu menu = new SlidingMenu(MainActivity.this);
            //设置在左边
            menu.setMode(SlidingMenu.LEFT);
            // 设置触摸屏幕的模式
            menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
            //设置设置阴影宽度
            menu.setShadowWidthRes(R.dimen.shadow_width);
            //设置阴影颜色
            menu.setShadowDrawable(R.color.colorAccent);
    
            // 设置滑动菜单视图的宽度
            menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
            // 设置渐入渐出效果的值
            menu.setFadeDegree(0.5f);
            /**
             * SLIDING_WINDOW 包含标题和ActionBar
             * SLIDING_CONTENT 不包含
             */
            menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
            //为侧滑菜单设置布局
            menu.setMenu(R.layout.menu_layout);
    
            //查找菜单布局文件里的控件
            list_view = (ListView) findViewById(R.id.list_view);
            image_view = (ImageView) findViewById(R.id.image_view);
            //创建数据
            list = new ArrayList<>();
    
            list.add("首页");
            list.add("好友");
            list.add("消息");
            list.add("动态");
            list.add("设置");
    
            //ListView 设置适配器
            list_view.setAdapter(new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, list));
    
            //设置点击事件
            list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    
                    Toast.makeText(MainActivity.this, list.get(position), Toast.LENGTH_LONG).show();
    
                }
            });
            //设置点击事件
            image_view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Toast.makeText(MainActivity.this, "你点击了头像", Toast.LENGTH_LONG).show();
    
                }
            });
    
    
        }
    
        //Activity按钮的点击事件
        public void onJump(View view) {
    
            startActivity(new Intent(MainActivity.this, Main2Activity.class));
    
        }
    
        //菜单布局文件按钮的点击事件
        public void onMain1(View view) {
    
    
            Toast.makeText(MainActivity.this, MainActivity.class.getSimpleName() + "", Toast.LENGTH_LONG).show();
    
        }
    
    
    }
    
  • Main2Activity (Activity 继承 SlidingActivity)

    public class Main2Activity extends SlidingActivity {
    
        private ImageView image_view;
    
        private List<String> list;
    
        private ListView list_view;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main2);
    
            setBehindContentView(R.layout.menu_layout);
    
            SlidingMenu menu = getSlidingMenu();
    
            //设置在右边
            menu.setMode(SlidingMenu.RIGHT);
            // 设置触摸屏幕的模式
            menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
            //设置阴影宽度
            menu.setShadowWidthRes(R.dimen.shadow_width);
            //设置阴影颜色
            menu.setShadowDrawable(R.color.colorAccent);
            // 设置滑动菜单视图的宽度
            menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
            // 设置渐入渐出效果的值
            menu.setFadeDegree(0.5f);
    
    
            image_view = (ImageView) findViewById(R.id.image_view);
    
            image_view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Toast.makeText(Main2Activity.this, "您点击了头像", Toast.LENGTH_LONG).show();
    
                }
            });
    
    
            list = new ArrayList<>();
    
            list.add("苹果");
            list.add("西瓜");
            list.add("香蕉");
    
    
            list_view = (ListView) findViewById(R.id.list_view);
    
    
            list_view.setAdapter(new ArrayAdapter<String>(Main2Activity.this, R.layout.support_simple_spinner_dropdown_item, list));
    
    
            list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    
                    Toast.makeText(Main2Activity.this, list.get(position), Toast.LENGTH_LONG).show();
    
                }
            });
    
    
        }
    
        //设置布局文件的按钮的点击事件
        public void onMain1(View view) {
    
    
            Toast.makeText(Main2Activity.this, Main2Activity.class.getSimpleName() + "", Toast.LENGTH_LONG).show();
    
        }
    }
    
  • menu_layout.xml (菜单布局文件)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值