24

我对 android 完全陌生,我正在尝试实现Sliding Menu having ListView with Swipe Gesture,通过一些搜索我发现 https://github.com/jfeinstein10/SlidingMenu 正是我想要的,

有很多与此相关的问题正在指导如何将该库与项目集成,但没有一个问题适合像我这样的新手。github上给出的程序也不详细,我只知道如何添加.jar文件但是这个.zip和其他东西对我来说是全新的

这是我迄今为止所做的;

  1. 从上面的链接下载的 zip
  2. 提取到文件夹的链接
  3. 在 Eclipse File->import->existing project into work-space..

现在它向我展示了包装中的许多错误library.src.com.slidingmenu.lib.app

例如

The declared package "com.slidingmenu.lib.app" does not match the expected package "library.src.com.slidingmenu.lib.app"

现在我不知道该怎么办...

请有人指导我如何在项目中集成和使用这个库的正确详细程序。

谢谢 !

4

4 回答 4

40

好吧,花了 3 天时间解决同样的问题,我找到了这件事的确切程序。github上的指南当然不适合我们这样的入门级人员,也没有这样的“分步教程”,所以需要时间。

重要提示:我没有包含“ Sherlock ActionBar”库,因为我想保持简单

  • 首先将你的 eclipse 更新到最新ADT或最好的方式,你可以下载 ADT Bundle,并确认一切在 new 中运行良好ADTBundle

  • 从“ gitHub ”下载最新的“ zip for jfeinstein10 / SlidingMenu ”,然后解压到任何你想要的地方。解压后,里面必须有这些文件和文件夹。

解压后的文件夹

  • 现在打开你的eclipse File -> Import -> Android -> Existing Android Code Into Workspace,浏览到你的文件夹最有可能“ SlidingMenu-master”,你应该看到以下

在此处输入图像描述

点击Finish,如果 eclipse 显示一些错误,Unable to resolve target然后通过更改您的目标并检查您的 SDK 的Right Click on project -> Properties -> Android任何最新版本。google API

  • 添加Dependency,通过右键单击project -> properties -> android -> library -> add -> SlidingMenuActivity,并清除两个项目。

  • 添加名为menu_framein your 的新 XML 布局,并将res -> layout以下内容放入其中。Frame Layoutlist view

  • ListView还要在您的mainActivityXML 文件中添加一个。

  • 现在是时候创建“菜单”,在您的onCreate()after中编写以下代码setContentView(R.layout.activity_main)

    SlidingMenu menu;
    menu = new SlidingMenu(this);
    menu.setMode(SlidingMenu.LEFT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setShadowWidth(5);
    menu.setFadeDegree(0.0f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setBehindWidth(200);
    menu.setMenu(R.layout.menu_frame);
    
  • 在显示错误的行中,按下ctrl+1并导入com.slidingmenu.lib.SlidingMenu;

  • 运行您的项目,您应该会看到菜单从左侧出现

  • 现在下一个任务是为您的两个 ListView(即主屏幕和菜单)添加adapterlistener

有关创建菜单时使用的功能的信息,您可以参考图书馆提供的示例应用程序或谷歌它们,有很多可用信息。

还要感谢“Jeremy Feinstein”提供了这么棒的图书馆

于 2013-01-02T08:04:03.643 回答
0

我相信你用不同的包名导入了包。

声明的包“com.slidingmenu.lib.app”与预期的包“library.src.com.slidingmenu.lib.app”不匹配

将其从com.slidingmenu.lib.app重命名为library.src.com.slidingmenu.lib.app并查看是否可以解决问题。

于 2012-12-27T16:17:53.737 回答
0

您只需要在“库”文件夹中导入项目

于 2012-12-27T16:32:22.550 回答
0

我使用此代码将项目添加到我的 ListViews(菜单和主屏幕),但它仅适用于主屏幕

final Context context = this ;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ListView lv = (ListView) findViewById(R.id.listView1);
    String[] items = new String[]{"xxx","xxx","xxx","xxx"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(context ,android.R.layout.simple_list_item_1, android.R.id.text1, items); 
    lv.setAdapter(adapter);

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.menu_frame, null);
    ListView lv2 = (ListView) view.findViewById(R.id.listView2);
    TextView tv2 = (TextView) view.findViewById(R.id.textView2);
    tv2.setText("Hello Mahdi");
    String[] items2 = new String[]{"xxx","xxx","xxx","xxx"};
    ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(context ,android.R.layout.simple_list_item_1, android.R.id.text1, items2); 
    lv2.setAdapter(adapter2);


    SlidingMenu menu;
    menu = new SlidingMenu(this);
    menu.setMode(SlidingMenu.LEFT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setShadowWidth(5);
    menu.setFadeDegree(0.0f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setBehindWidth(200);
    menu.setMenu(R.layout.menu_frame);
}
于 2013-02-18T10:20:59.823 回答