zoukankan      html  css  js  c++  java
  • SlidingMenu控件的使用

    SlidingMenu是github上的一个滑动菜单的开源控件,很多应用都已经使用这个控件做为自己App的侧划菜单,如果不想自己重复的造轮子或者只是简单的侧滑的需求话,完全可以使用这个控件。那么下面就来说说这个控件的使用。

    • 下载该控件
      从github上通过git clone命令下载这个控件。地址是https://github.com/jfeinstein10/SlidingMenu.git
    • 导入到工程中
      在AndroidStudio中新建一个工程。
      这里写图片描述

      新建之后之后,点击File->New->import Module引入我们的SlidingMenu控件,引入的时候要定位到libaray这个目录。
      这里写图片描述

      导入之后会出现一些错误,出现这些错误的原因是Slidingenu所使用的gradle版本,依赖库等版本与我们使用的版本不一致导致的,所以需要将libarary和应用的配置同步一下。切换到project视图下
      这里写图片描述

      选择library目录下的build.gradle文件,将该目录下的配置项用app的gradle中配置项目替换掉
      这里写图片描述

      重新sync一下就可以消除这些错误。重新切换为android视图,给工程添加library的依赖,那么我们就可以开始使用SlidingMenu这个控件了。
      这里写图片描述

    • 控件的使用
      SlidingMenu控件的使用有三种用法:在activity中通过编码的方法加入,通过继承SlidingActivity的方式引入,通过XML文件配置的方式使用

      -在activity中通过编码的方法

    public class MainActivity extends AppCompatActivity {
        SlidingMenu mMenu;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //新建一个SlidingMenu
            mMenu = new SlidingMenu(this);
            //设置SlidingMenu的方向
            mMenu.setMode(SlidingMenu.LEFT);
            //设置当菜单划出的时候,可以点击的区域是整个屏幕
            mMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
            //设置菜单距离屏幕右端的距离
            mMenu.setBehindOffset(400);
            //设置渐变效果
            mMenu.setFadeDegree(0.1f);
            //添加到当前的activity中
            mMenu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
            //设置menu的菜单
            mMenu.setMenu(R.layout.menu_item);
        }
    }
    • 通过继承的方式
    public class CustomActivity extends SlidingActivity {
        SlidingMenu mMenu;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            this.setContentView(R.layout.activity_main);
            this.setBehindContentView(R.layout.menu_item);
    
            mMenu = this.getSlidingMenu();
            mMenu.setMode(SlidingMenu.LEFT);
            mMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
            mMenu.setBehindOffset(200);
            mMenu.setFadeDegree(0.4f);
    
        }
    }
    • 通过XML布局文件的方式
    <?xml version="1.0" encoding="utf-8"?>
    <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:sliding="http://schemas.android.com/apk/res-auto"
        android:id="@+id/slidingmenulayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        sliding:behindOffset="200dp"
        sliding:behindScrollScale="0.85"
        sliding:fadeDegree="0.45"
        sliding:fadeEnabled="true"
        sliding:touchModeAbove="fullscreen"
        sliding:viewAbove="@layout/activity_main"
        sliding:viewBehind="@layout/menu_item" />

    属性一一讲解:

    • viewAbove:显示在上层的view视图,一般作为主view的布局文件
    • viewBehind:显示在下层的view视图,一般作为menu菜单的布局文件
    • touchModeAbove:当上层view可见的时候,屏幕的可触摸区域,fullscreen是全屏可以点击,margin是只有左边可以点击,默认是margin
    • behindOffset:菜单view距离边界的距离。
    • behindWidth:菜单的宽度
    • behindScrollScale:菜单项滑动的距离和主view滑动距离的比例,当为0的时候,菜单不滑动。
    • shadowDrawable:设置阴影
    • shadowWidth:设置阴影宽度
    • fadeEnabled:渐变开关
    • fadeDegree:阴影大小,0~1
    • selectorEnabled:选择开关
    • selectorDrawable:选择图片
  • 相关阅读:
    elastic search-php 多关键词查询实践(名称,日期,省份)
    记一次thinkphp 配置主从域名网站单点登录,退出
    thinkphp6 解决登录session跨域
    php富文本图片传递 通用css更改
    ELASTIC-PHP + IK分词器 + THINKPHP6 初次使用 (关键词查询)
    think-queue 加 redis实现批量导入excel
    百度api根据ip获取省市区
    php使用GD库将图片圆角 解决背景变黑问题 以及 图片丢失问题
    在树莓派上实现截图
    Arduino入门实践(五)--1、关于lcd的成像原理
  • 原文地址:https://www.cnblogs.com/summerpxy/p/13648343.html
Copyright © 2011-2022 走看看