15

Facebook アプリのようなスライド メニューをアプリに追加したいと考えています。私は図書館についてインターネットで多くのことを読みましたが、どれも私にとってはうまくいきませんでした。これに使用できる最高のもの/ライブラリは何ですか?誰かがその使用方法を説明してくれますか?

編集 これは私のレイアウトです:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/zwemfest" >"



<com.devspark.sidenavigation.SideNavigationView
    android:id="@+id/side_navigation_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/button1"
        android:layout_width="183dp"
        android:layout_height="113dp"
        android:layout_weight="0.91"
        android:text="Button" />

</com.devspark.sidenavigation.SideNavigationView>

</RelativeLayout>

しかし、ボタンや背景画像が表示されません。何がうまくいかないか知っていますか?

4

9 に答える 9

14

https://github.com/johnkil/SideNavigation

私は最近このライブラリを使用していますが、かなりうまく機能します。実際、その使用法は非常に簡単です。

メニュー フォルダーの下に side_navigation.xml を宣言するだけです。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/side_navigation_menu_chart"
        android:icon="@drawable/icon_kitsch_gray"
        android:title="@string/navigation_chart"/>
    <item
        android:id="@+id/side_navigation_menu_info"
        android:icon="@drawable/ic_menu_info_details"
        android:title="@string/navigation_info"/>
    <item
        android:id="@+id/side_navigation_menu_gallery"
        android:icon="@drawable/ic_menu_gallery"
        android:title="@string/navigation_photos"/>
    <item
        android:id="@+id/side_navigation_menu_signin"
        android:icon="@drawable/ic_menu_login"
        android:title="@string/navigation_signin"/>
    <item
        android:id="@+id/side_navigation_menu_settings"
        android:icon="@drawable/ic_menu_preferences"
        android:title="@string/navigation_settings"/>

</menu>

次に、アクティビティ レイアウトにナビゲーション ビューを追加します。

<com.devspark.sidenavigation.SideNavigationView
    android:id="@+id/side_navigation_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

そして、アクティビティでは、両方をリンクします。

SideNavigationView sideNavigationView = (SideNavigationView)findViewById(R.id.side_navigation_view);
sideNavigationView.setMenuItems(R.menu.side_navigation);

編集:

サイド ナビゲーション パネルをトリガーするには、ユーザーが ActionBar のホーム アイコンを押したときにそれを呼び出すことをお勧めします。例えば:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            sideNavigationView.toggleMenu();
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
} 
于 2012-07-13T07:37:24.823 に答える
3

www.scringo.comも使用できます。これは、実質的に次のコードだけで、この種のサイド メニューを追加できる SDK です。

Scringo scringo = new Scringo();
scringo.init();

後でサイトから行うことができる多くの構成 (メニューの方向、色など) があり、受信トレイ、友達の検索/招待、レーダーなどの組み込み機能をメニューに追加することもできます...

于 2013-03-19T14:12:48.000 に答える
2

これは私が開発した簡単なスライド メニューです。github でプロジェクトを確認してください。実装は非常に簡単です http://github.com/leonardosalles/shipp-sliding-menu

于 2013-01-25T02:01:51.603 に答える
2

あなたはそれについてこの3つの記事を読むことができます:

http://android.cyrilmottier.com/?p=658

http://android.cyrilmottier.com/?p=701

http://android.cyrilmottier.com/?p=717

アイデアを得るために:)

ナビゲーション ドロワー (Google+ 対 YouTube)

于 2012-07-13T07:28:20.997 に答える
1

他のライブラリを使用する代わりに独自のスライディング メニューを作成したい場合は、動作の仕組みをよりよく理解するために、こちらの記事をお読みください。

Android チュートリアルで独自のスライド メニューを作成する – パート 1

Android チュートリアルで独自のスライド メニューを作成する – パート 2

ここに画像の説明を入力

スライド効果を実現するには、メニュー、コンテンツ ビュー、またはその両方を移動できます。これらはすべて、必要に応じて異なります。

ビューの位置を更新するには、offsetLeftAndRight()layout( ) の2 つのメソッドに依存することをお勧めします。アニメーションを容易にするためにScrollerも必要です

于 2013-09-25T18:18:33.883 に答える
1

スライドメニュー技術導入

現在、サイド ナビゲーションは Android SDK に含まれています。http://developer.android.com/design/patterns/navigation-drawer.html

github で簡単に検索すると、UI パターンを実装したプロジェクトが 1 つ見つかります。

github の android-fb-like-slideout-navigation ライブラリの動作を示すビデオもあります。

編集: ここに別のライブラリ プロジェクトがあります: https://github.com/davds/RibbonMenu コメントで BuBBLs 氏に感謝します!

その他のライブラリ プロジェクト:

Cyril Mottierも、彼のブログでこのパターンの実装について書いています。これらの投稿は非常に読む価値があります。

  1. Prix​​ing #1 のメイキング: フライイン アプリ メニュー
  2. Prix​​ing のメイキング #2: フライイン アプリのメニューをスワイプする
  3. Prix​​ing のメイキング #3: スライド式アプリ メニューの洗練

Cyril によって実装されたサイド ナビゲーションを試すには、Google Play の Prixing アプリも参照してください。

于 2013-09-17T09:39:21.923 に答える
0

この方法を試してください。xml 内の 2 つの相対レイアウト。

CONTENT(initially gone)

HEADER

ヘッダーは最初はすべての幅を占有し、コンテンツはヘッダーの左側にありますが、現在は Visibility=GONE に設定されています。

したがって、クリックがヘッダーまたはヘッダーレイアウトの任意のボタンで発生した場合

コンテンツ レイアウトの幅を screen_width/2 に設定するだけです (分数は要件によって異なります)。

public void onCreate(){
    RelativeLayout header=(RelativeLayout)findViewById(R.id.header);
    RelativeLayout content=(RelativeLayout)findViewById(R.id.content);
    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth(); // deprecated 
    int height = display.getHeight(); // deprecated

    //on some event

    content.setVisibility(View.VISIBLE);
    //margin(left,right,bottom,top)
    content.setMargin(width/3,0,0,0);

    //if already opened,close the door
    content.setVisibility(View.GONE);
}

優れたオープニング アニメーションが必要な場合は、レイアウトでトランスレート アニメーションを使用してください。
そして、私の回答の冒頭で述べたように、初期構成で2つの相対的なlYoutsを並べたlyoutを必ず作成してください。

于 2013-09-25T19:07:23.923 に答える