SlidingMenu README

The project's README from github.com/jfeinstein10/SlidingMenu. As one markdown file: README.md.

SlidingMenu (Play Store Demo)

SlidingMenu is an Open Source Android library that allows developers to easily create applications with sliding menus like those made popular in the Google+, YouTube, and Facebook apps. Feel free to use it all you want in your Android apps provided that you cite this project and include the license in your app.

SlidingMenu is currently used in some awesome Android apps. Here's a list of some of them:

If you are using SlidingMenu in your app and would like to be listed here, please let me know via Twitter!

Here's an older video of the example application in this repository : http://youtu.be/8vNaANLHw-c

Also, you can follow the project on Twitter : @SlidingMenu

Setup

Setup with ActionBarSherlock

How to Integrate this Library into Your Projects

In order to integrate SlidingMenu into your own projects you can do one of two things.

1. You can wrap your Activities in a SlidingMenu by constructing it programmatically (new SlidingMenu(Context context)) and then calling SlidingMenu.attachToActivity(Activity activity, SlidingMenu.SLIDING_WINDOW | SlidingMenu.SLIDING_CONTENT). SLIDING_WINDOW will include the Title/ActionBar in the content section of the SlidingMenu, while SLIDING_CONTENT does not. You can check it out in the example app AttachExample Activity.

2. You can embed the SlidingMenu at the Activity level by making your Activity extend SlidingActivity.

3. You can use the SlidingMenu view directly in your xml layouts or programmatically in your Java code.

Simple Example

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);
	}
    
}

XML Usage

If you decide to use SlidingMenu as a view, you can define it in your xml layouts like this:

<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
    xmlns:sliding="http://schemas.android.com/apk/res-auto"
    android:id="@+id/slidingmenulayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    sliding:viewAbove="@layout/YOUR_ABOVE_VIEW"
    sliding:viewBehind="@layout/YOUR_BEHIND_BEHIND"
    sliding:touchModeAbove="margin|fullscreen"
    sliding:behindOffset="@dimen/YOUR_OFFSET"
    sliding:behindWidth="@dimen/YOUR_WIDTH"
    sliding:behindScrollScale="@dimen/YOUR_SCALE"
    sliding:shadowDrawable="@drawable/YOUR_SHADOW"
    sliding:shadowWidth="@dimen/YOUR_SHADOW_WIDTH"
    sliding:fadeEnabled="true|false"
    sliding:fadeDegree="float"
    sliding:selectorEnabled="true|false"
    sliding:selectorDrawable="@drawable/YOUR_SELECTOR"/>

NOTE : you cannot use both behindOffset and behindWidth. You will get an exception if you try.

Caveats

Developed By

License

Copyright 2012-2014 Jeremy Feinstein

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

SlidingMenu (jfeinstein10/SlidingMenu)

Searching Database…

Что это такое?Открытая библиотека для Android с выдвижными меню навигации — тот самый паттерн, который популяризировали приложения Google+, YouTube и Facebook. Вы встраиваете её в собственное приложение для Android.
Что я вижу, когда меню открывается?Экран делится на верхний вид (ваш контент) и задний вид (меню). Когда меню открывается, верхний вид сдвигается в сторону, открывая задний вид, который вы задаёте через setBehindContentView или viewBehind.
Как добавить её в свой проект для Android?В Eclipse импортируйте SlidingMenu как проект библиотеки Android, выполните Project > Clean, чтобы сгенерировать ресурсы вроде R.java, затем добавьте её как зависимость к вашему существующему проекту.
Она работает с ActionBarSherlock?Да. Добавьте ActionBarSherlock как зависимость к SlidingMenu, а затем сделайте так, чтобы используемые вами SlidingActivities наследовались от активностей Sherlock, а не от обычных.
Есть ли подводные камни, о которых стоит знать заранее?Нельзя задавать одновременно behindOffset и behindWidth — попытка вызовет исключение. Кроме того, ваши макеты должны быть основаны на viewgroup, и, как признаёт README, это сводит на нет некоторые оптимизации.
Она реально проверена в деле или это любительский эксперимент?Проверена в масштабе: в README среди приложений, которые её используют, перечислены Foursquare, LinkedIn, Rdio, Evernote Food, VLC для Android, 9GAG, Wunderlist 2 и The Verge.
Могу ли я выпустить её в своём приложении, и нужно ли указывать авторство?Да. Лицензия — Apache 2.0, пользоваться можно бесплатно, но автор просит об одном взамен: упомянуть проект и приложить лицензию в вашем приложении.
Чем отличаются SLIDINGWINDOW и SLIDINGCONTENT?Это два режима attachToActivity: SLIDINGWINDOW включает Title/ActionBar в скользящую секцию с контентом, а SLIDINGCONTENT оставляет её за пределами.
На что влияет touchModeAbove?На то, какая часть экрана реагирует на касания, пока показан верхний вид: 'margin' означает, что меню открывается только по касанию левого края, 'fullscreen' — всего экрана. По умолчанию стоит margin.
Будет ли подсветка селектора работать с элементами ListView?Скорее всего, нет. Нужно вызвать setSelectedView с выбранным видом, и README предупреждает, что с элементами ListView это почти наверняка не сработает из-за того, как Android переиспользует виды элементов.
Size
31.3 MB
Stars
11K
Updated
CommitMar 09
Age
14y
Commits · 90 Days