LoginSignup
7
6

More than 5 years have passed since last update.

SlidingMenuのSimple Example補足

Last updated at Posted at 2013-04-21

facebookでおなじみのスライドメニュー(ただし現在facebookはスライドメニューを廃止するかどうかのA/Bテスト中)をandroidで簡単に実装するためのライブラリー「SlidingMenu」があるのですが、これを導入してSimpleExampleを試す際の覚書。

SlidingMenu - GitHub
https://github.com/jfeinstein10/SlidingMenu

ライブラリの導入方法

下記の2つを参考に。下記2つはActionBarSerlockを例にしていますが、やり方は同じなので問題ありません。
むしろSlidingMenuはActionBarSherlockとも連携をとれる作りになっているので、合わせて導入するのもいいでしょう。

Android 2.xでAction Barが使えるActionBarSherlockの使い方
http://d.hatena.ne.jp/gabuchan/20120227/1330302592

Jarじゃないソースしか無い、Androidのライブラリーをプロジェクト内に組み込む
http://blog.excite.co.jp/spdev/18968801/

(覚書)ライブラリのフォルダ名を「(親のプロジェクト名)_(ライブラリ名)」にしておくと、プロジェクトエクスプローラで親とライブラリのプロジェクトが隣同士に並ぶので管理しやすい。

Simple Exampleの補足

SlidingExample.class
public class SlidingExample extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTitle(R.string.attach);
        // set the content view
        setContentView(R.layout.content);
        // configure the SlidingMenu
        SlidingMenu menu = new SlidingMenu(this);
        menu.setMode(SlidingMenu.LEFT);
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowWidthRes(R.dimen.shadow_width);
        menu.setShadowDrawable(R.drawable.shadow);
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        menu.setFadeDegree(0.35f);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.menu);
    }
}

当然、作成したActivityにonCreateの中身を入れるとエラーになる部分がいくつかあります。とりあえず動作だけ見たいのであれば、サンプルソースに入っている値をそのまま入れてしまいましょう。

menu.setShadowWidthRes(R.dimen.shadow_width);
スライドメニューと親のActivityの境目につける陰の幅。15dp。

menu.setShadowDrawable(R.drawable.shadow);
スライドメニューと親元のActivityの境目につける陰の画像。サンプルソースでは、xmlで作成しています。
https://github.com/jfeinstein10/SlidingMenu/blob/master/example/res/drawable/shadow.xml

menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
スライドメニューを出した時に、親のActivityの端をどれだけ表示するか。60dp。

menu.setMenu(R.layout.menu);
スライドメニューのレイアウトファイル。お好きな様に。サンプルソースでは、fragmentにしているので、同様にfragmentで作成する場合は、親のActivityは当然FragmentActivityにする必要がある。

ちなみにFragment関連は全てsupport-v4にしても動作します。
その他のスライドメニューの使い方は、プロジェクト内のExampleコードを参考にしましょう。Playストアに上がっているデモアプリで動作の確認もできます。
https://play.google.com/store/apps/details?id=com.slidingmenu.example

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6