【发布时间】:2014-06-20 06:52:14
【问题描述】:
大家好,我刚刚开始使用 Eclipse IDE 进行 Android 开发。
我正在尝试制作侧面的滑动菜单和顶部的操作栏,类似于一些流行的应用程序,例如 4Square、9GAG、Facebook 等。
我希望将 Jeremy Feinstein 滑动菜单与 Action Bar Sherlock 库一起使用。我从https://github.com/jfeinstein10/SlidingMenu和http://actionbarsherlock.com/download.html下载的
我目前正在学习如何使用这些库,并尝试运行 GitHub 的 zip 文件中提供的示例。我花了几天时间才正确导入库,现在示例没有问题。
但是当我尝试将库导入我自己的项目时,似乎该项目引用了一个不正确的 R.java 文件。这是代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(mTitleRes);
// set the Behind View
setBehindContentView(R.layout.menu_frame);
if (savedInstanceState == null) {
FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
mFrag = new MenuListFragment();
t.replace(R.id.menu_frame, mFrag);
t.commit();
} else {
mFrag = (ListFragment)this.getSupportFragmentManager().findFragmentById(R.id.menu_frame);
}
// customize the SlidingMenu
SlidingMenu sm = getSlidingMenu();
// these 3 lines containing errors:
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setFadeDegree(0.35f);
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
上面3行出现如下错误
shadow_width cannot be resolved or is not a field
另外,对于这些行,
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.main, menu);
return true;
}
错误是
main cannot be resolved or is not a field
================================================ ====================================
至于这两个库的导入方式,这些是我做的步骤,是我从网上不同的来源和问题收集的:
-
导入滑动菜单库
File -> Import -> Android -> Existing Android Code Into Workspace Browse -> SlidingMenu-master -> library -> Finish -
导入动作条sherlock库
File -> Import -> Android -> Existing Android Code Into Workspace Browse -> JakeWharton-ActionBarSherlock-5a15d92 -> actionbarsherlock -> Finish -
设置操作栏 Sherlock 属性
Project -> Properties -> Android -> Project Build Target -> Android 4.0.3 -
设置滑动菜单属性
Project -> Properties -> Android -> Project Build Target -> Android 4.0.3 Project -> Properties -> Android -> Library -> Add -> Add actionbarsherlock Project -> Properties -> Project References -> check actionbarsherlock -
设置我的项目属性
Project -> Properties -> Android -> Project Build Target -> Android 4.0.3 Project -> Properties -> Android -> Library -> Add -> Add both libraries Project -> Properties -> Project References -> check both libraries -
在
library -> com.jeremyfeinstein.slidingmenu.lib.app -> SlidingActivity.java and SlidingFragmentActivity.java改变
extends SlidingActivity and SlidingFragmentActivity进入
extends SherlockActivity and SherlockFragmentActivity -
删除
android-support-v4.jar来自我自己的项目和 actionbarsherlock,对于他们两个,转到
Project -> Properties -> Java Build Path -> Libraries -> Add JARs -> library (the slider menu library) -> libs -> android-support-v4.jar 清理项目并重新启动 Eclipse
我知道我可能只是犯了一个非常简单的愚蠢错误,但感谢任何帮助!谢谢!!
【问题讨论】:
标签: android android-actionbar actionbarsherlock slidingmenu r.java-file