Точная процедура добавления "jfeinstein10/SlidingMenu" в проект Android
Я совершенно новичок в android, я пытаюсь реализовать Sliding Menu having ListView with
Swipe Gesture
, по некоторым поискам я обнаружил, что https://github.com/jfeinstein10/SlidingMenu
это именно то, что я хочу,
Есть много вопросов, связанных с этим, которые определяют, как интегрировать эту библиотеку с проектом, но ни один из них не подходит для такого нового человека, как я. также процедура, указанная в github, не является подробной, все, что я знаю, - это добавить файл .jar, но этот .zip и другие вещи для меня совершенно новые.
Это то, что я сделал до сих пор;
- скачать zip из ссылки выше.
- Извлечена эта ссылка на папку
- в Eclipse File- > import- > существующий проект в рабочее пространство.
Теперь он показывает мне много ошибок в пакете library.src.com.slidingmenu.lib.app
e.g
The declared package "com.slidingmenu.lib.app" does not match the expected package "library.src.com.slidingmenu.lib.app"
теперь я не знаю, что делать...
пожалуйста, кто-нибудь проведет меня с надлежащей подробной процедурой, как интегрировать и использовать эту библиотеку в проекте.
Спасибо!
Ответы
Ответ 1
Хорошо, проведя 3 дня с той же проблемой, я нашел точную процедуру для этой вещи. Руководство по gitHub, конечно, не для парней начального уровня, таких как мы, также нет такого "поэтапного" tutorial "для этого, поэтому потребовалось время.
Важно: я не включил библиотеку "Sherlock ActionBar
", потому что я хочу сохранить ее простой
-
Сначала обновите ваше затмение до последнего ADT
или лучший способ загрузить this ADT Bundle
и подтвердить что все работает нормально в новом ADTBundle
.
-
Загрузите последнюю версию zip для jfeinstein10/SlidingMenu "от" gitHub", и извлеките его в любом месте. После извлечения он должен иметь эти файлы и папки внутри.
![Folder after extracting library]()
- Теперь откройте ваш eclipse
File -> Import -> Android -> Existing Android Code Into Workspace
, перейдите в свою папку, скорее всего, "SlidingMenu-master
", и вы увидите следующее
![enter image description here]()
Хит Finish
. Если eclipse показывает некоторую ошибку, например Unable to resolve target
, то измените цель на Right Click on project -> Properties -> Android
и проверьте любой последний google API
ваш SDK.
-
Добавьте Dependency
, щелкнув правой кнопкой мыши по project -> properties -> android -> library -> add -> SlidingMenuActivity
и очистите оба проекта.
-
Добавьте новый XML-макет с именем menu_frame
в свой res -> layout
и поместите в него следующее
Поместите в него Frame Layout
и list view
.
-
Также добавьте ListView
в ваш XML файл mainActivity
.
-
Теперь пришло время создать "Меню" записать следующий код в onCreate()
после 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
для обоих ваших списков ListView (например, для главного экрана и меню).
Для получения информации о функции, используемой при создании меню, вы можете обратиться к примерам приложений, предоставленных с помощью библиотеки или google, имеется много информации.
Также благодаря "Джереми Фейнстейну" для такой большой библиотеки
Ответ 2
Я считаю, что вы импортировали пакет с другим именем пакета.
Объявленный пакет "com.slidingmenu.lib.app" не соответствует ожидаемому пакету "library.src.com.slidingmenu.lib.app"
Переименуйте его из com.slidingmenu.lib.app в library.src.com.slidingmenu.lib.app и посмотрите, устраняет ли это проблему.
Ответ 3
вам нужно импортировать проект внутри папки "library"
Ответ 4
Я использую этот код для добавления элементов в список 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);
}