SlidingMenu在Android Studio中的配置与使用

网上有很多在Android Studio中配置SlidingMenu的教程,由于可能是版本或者其他的原因,我在配置的过程中都没有成功,现在研究出了能用的方法,特此记录。代码基本都是来自于网络,转载请注明地址。

首先是到 https://github.com/jfeinstein10/SlidingMenu下载SlidingMenu,下载好后解压后得到下图的文件,我们只要其中的library文件夹中的内容就可以了



我们在AS新建一个Project,然后打开工程的目录,在目录下新建一个文件夹,libraries,进入libraries,新建一个文件夹,用来存放SlidingMenu,如图






然后把SlidingMenu的library目录下的所有文件拷贝到刚刚建立的目录下,如图



接下来我们要修改Gradle的配置文件,到工程的根目录下找到settings.gradle文件,用记事本打开,在其中加入
include ':libraries:SlidingMenu-master'




然后再进入你的APP的Module目录下,我这里的APP目录就是Project目录下的app的文件夹,找到他的build.gradle,在里面的dependencies中加入
compile project(':libraries:SlidingMenu-master')

这样你的应用就手动添加了对SlidingMenu的依赖了,当然你也可以在AS中可视化添加。



然后我们进入AS,把项目Rebuild,这时可能会出现错误,原因可能与API的等级和Gradle的版本有关,我出现的的错误如下图



解决办法:我们找到应用目录和SlidingMenu下的build.gradle文件,把他们打开,如图,把SlidingMenu中对应的版本号修改成与你应用一致的内容。



这时我们再次Rebuild项目,我的再次出现了错误,提示找不到sin方法,如下图



我们进入到FloatMath.java,发现里面是有sin方法的,这我就不知道为什么会提示找不到了(知道的朋友可以留言指出)




解决办法:在看了FloatMath.java中sin方法的代码后,我们可以手动修改,直接用Math中的sin方法来替代他。如图



完成后,再次编译,没有出现错误了(反正我是没有),这是我们来测试一下SlidingMenu能否使用。添加如下代码:

MainActivity.java代码:
package test.com.test3;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class MainActivity extends AppCompatActivity {

    private SlidingMenu slidingMenu;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        slidingMenu=new SlidingMenu(this);
        slidingMenu.setMode(SlidingMenu.RIGHT);
        slidingMenu.setBehindWidthRes(R.dimen.sliding_menu_width);
        //slidingMenu.setAboveOffsetRes(R.dimen.sliding_menu_offset);
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        slidingMenu.setMenu(R.layout.sliding_menu);
    }
}


新建一个布局文件
sliding_menu.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#999999"
    android:orientation="vertical">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="CLICK Me!"
        android:id="@+id/clickMeBtn"
        android:layout_gravity="center_horizontal" />

    <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
    android:id="@+id/slidingmenulayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
</com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>

</LinearLayout>



添加一个dimens项
dimens.xml代码:
<resources>
    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
    <dimen name="sliding_menu_width">200dp</dimen>
</resources>


运行后向左滑动,SlidingMenu出现了,证明配置成功了





猜你喜欢

转载自xlkgh.iteye.com/blog/2243960