build.gradle
в корневой директории проекта добавьте:allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
build.gradle
модуля entry добавьте: implementation('com.gitee.chinasoft_ohos:Custom-Navigation-Drawer:1.0.0')
Проект можно запустить сразу в SDK 6 и DevEco Studio 2.2 beta1.
Если проект не запускается, удалите файлы .gradle
, .idea
, build
, gradle
, build.gradle
,
и создайте новый проект в соответствии со своей версией, затем скопируйте соответствующие файлы нового проекта в корневую директорию.
SNavigationDrawer
, пример использования приведён ниже: <com.shrikanthravi.customnavigationdrawer2.widget.SNavigationDrawer
ohos:id="$+id:navigationDrawer"
ohos:height="match_parent"
ohos:width="match_parent">
<StackLayout
ohos:id="$+id:frameLayout"
ohos:width="match_parent"
ohos:height="match_parent"/>
</com.shrikanthravi.customnavigationdrawer2.widget.SNavigationDrawer>
```2. Затем используйте его в AbilitySlice или Fraction:
```java
// Глобальное объявление
SNavigationDrawer sNavigationDrawer;
private final ArrayList<Fraction> mFragments = new ArrayList<>();
private FractionChangeManager manager;
// Внутри метода onStart()
sNavigationDrawer = (SNavigationDrawer) findComponentById(ResourceTable.Id_navigationDrawer);
List<MenuItem> menuItems = new ArrayList<>();
menuItems.add(new MenuItem("Новости", ResourceTable.Media_news_bg));
menuItems.add(new MenuItem("Лента", ResourceTable.Media_feed_bg));
menuItems.add(new MenuItem("Сообщения", ResourceTable.Media_message_bg));
menuItems.add(new MenuItem("Музыка", ResourceTable.Media_music_bg));
sNavigationDrawer.setMenuItemList(menuItems);
initFragment(menuItems);
if (getAbility() instanceof FractionAbility) {
FractionAbility ability = (FractionAbility) getAbility();
manager = new FractionChangeManager(ability.getFractionManager(), ResourceTable.Id_frameLayout, mFragments);
}
sNavigationDrawer.setDrawerListener(new SNavigationDrawer.DrawerListener() {
@Override
public void onDrawerOpening() {
}
@Override
public void onDrawerClosing() {
}
@Override
public void onDrawerOpened() {
}
@Override
public void onDrawerClosed() {
}
@Override
public void onDrawerStateChanged(SNavigationDrawer.State newState) {
}
});
sNavigationDrawer.setOnMenuItemClickListener(position -> manager.setFragments(position));
Код проверен CodeCheck, ошибок нет.
Код проверен CloudTest, ошибок нет.
Проверка безопасности от вирусов прошла успешно.
Функционал текущей версии демонстрационного примера практически не отличается от оригинальной компоненты.
### Версионирование
- 1.0.0
- 0.0.1-SNAPSHOT
### Информация о правах и лицензиях
Лицензия MIT
Авторское право © 2018 года Шриканта Рафи
Указанному лицу предоставляется право бесплатно использовать, копировать, модифицировать, объединять, публиковать, распространять, передавать по сублицензии или продавать копии Программы и разрешать другим лицам делать то же самое, при условии соблюдения следующих условий:
Вышеуказанное сообщение об авторском праве и данное разрешение должны присутствовать во всех копиях или значительных частях Программы.
Программа предоставляется «как есть», без каких-либо гарантий, явных или подразумеваемых, включая, но не ограничиваясь, гарантии товарности, пригодности для конкретных целей и отсутствия нарушений прав.
В случае возникновения любого требования, иска или других действий, связанных с договором, деликтами или другими причинами, вытекающими из, связанными с или использующими Программу или использование или другие действия с ней, ответственность авторов или владельцев авторских прав не может быть установлена.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )