SlidingMenu在Android Studio中的配置与使用

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

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

[img]http://dl2.iteye.com/upload/attachment/0111/7510/241c0ecd-958e-3823-a796-938a3e25d324.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0111/7512/ac4434c1-8b24-3595-bb12-99a7fc2a0267.png[/img]


[img]http://dl2.iteye.com/upload/attachment/0111/7514/bd971e28-9233-392b-8a45-50f2cd35001c.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0111/7516/e97e4947-6f41-334a-b9ac-49c7959866bf.png[/img]

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


[img]http://dl2.iteye.com/upload/attachment/0111/7518/3d928410-453c-3702-98a1-41eb18bf35f2.png[/img]

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

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

[img]http://dl2.iteye.com/upload/attachment/0111/7522/c3a7ab5d-d29a-37fa-858e-548fed850c81.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0111/7526/1d28dd3c-936d-35b8-af2f-9f7dee7452c3.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0111/7528/5466bb20-ac3e-3d3c-852a-360ea223ba93.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0111/7532/ff59eb60-f4ad-3a58-a4df-36ed8b72ad2f.png[/img]

我们进入到FloatMath.java,发现里面是有sin方法的,这我就不知道为什么会提示找不到了(知道的朋友可以留言指出)
[img]http://dl2.iteye.com/upload/attachment/0111/7536/66433271-38a6-33ce-910c-7cb05659a8d3.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0111/7538/074509df-55e6-399d-912a-5c61ec5b3d4e.png[/img]

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

[img]http://dl2.iteye.com/upload/attachment/0111/7540/655b12e7-39e4-3200-bdbe-a12f0c70e567.png[/img]

完成后,再次编译,没有出现错误了(反正我是没有),这是我们来测试一下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出现了,证明配置成功了

[img]http://dl2.iteye.com/upload/attachment/0111/7548/d4ab561e-e646-3ac6-9875-ca557adc7554.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值