24

私はAndroidにまったく慣れていないので、実装しようとしています。Sliding Menu having ListView with Swipe Gesture検索して みると、 https://github.com/jfeinstein10/SlidingMenu がまさに私が欲しいものであることがわかりました。

このライブラリをプロジェクトと統合する方法を導く、これに関連する多くの質問がありますが、それらのどれも私のような新しい人のためのものではありません。また、githubで提供される手順は詳細ではありません。私が知っているのは、.jarファイルを追加する方法だけですが、この.zipやその他のものは私にとってまったく新しいものです。

これは私が今までやってきたことです。

  1. 上記のリンクからzipをダウンロード
  2. そのフォルダへのリンクを抽出しました
  3. Eclipseファイル->インポート->既存のプロジェクトをワークスペースに。

今、それは私にパッケージの多くのエラーを示しています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 BundleADTBundle

  • 「 gitHub」から最新の「zipforjfeinstein10/ SlidingMenu 」をダウンロードし、好きな場所に解凍します。抽出後、これらのファイルとフォルダーが内部にある必要があります。

ライブラリを抽出した後のフォルダ

  • ここでEclipseFile -> 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両方のプロジェクトをクリアします。

  • のように名前が付けられた新しいXMLレイアウトを追加し、それに続くものを入れmenu_frameます。res -> layoutFrame Layoutlist view

  • また、 XMLファイルにを追加しListViewます。mainActivity

  • 次に、「メニュー」を作成して、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;

  • プロジェクトを実行すると、左側からメニューが表示されます。

  • 次のタスクは、両方のリストビュー(つまり、メイン画面とメニュー)を追加することadapterですlistener

メニューの作成時に使用する機能については、ライブラリで提供されているアプリの例を参照したり、グーグルで検索したりできます。利用できる情報はたくさんあります。

また、このような素晴らしいライブラリを提供してくれた「JeremyFeinstein」にも感謝します。

于 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

「library」フォルダ内にプロジェクトをインポートするだけで済みます

于 2012-12-27T16:32:22.550 に答える
0

このコードを使用してリストビュー(メニューとメイン画面)にアイテムを追加しますが、メイン画面でのみ機能します

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 に答える