О проекте Ohos-MultiBackStack
Демонстрация эффекта переключения нижней панели статуса (см. изображение).
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_ohos:Ohos_Multibackstack:1.0.0')
......
}
Проект можно запустить напрямую под SDK6 и DevEco Studio версии 2.2 Beta1. Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle и создайте новый проект с соответствующей версией. Скопируйте файлы из нового проекта в корневой каталог.
В XML-файле добавьте элементы управления:
<StackLayout
ohos:id="$+id:show_stack"
ohos:height="match_content"
ohos:width="match_parent"
ohos:weight="10"/>
searchFraction = new SearchFraction(this);
favoritesFraction = new FavoritesFraction(this);
proFileFraction = new ProFileFraction(this);
((FractionAbility) getAbility()).getFractionManager()
.startFractionScheduler()
.add(ResourceTable.Id_show_stack, searchFraction)
.add(ResourceTable.Id_show_stack, favoritesFraction)
.add(ResourceTable.Id_show_stack, proFileFraction)
.hide(favoritesFraction)
.hide(proFileFraction)
.show(searchFraction)
.submit();
addAction(searchFraction, -1);
@Override
protected void onBackPressed() {
if (list.size() == 1) {
stopAbility(intent);
System.exit(0);
return;
}
Action action = (Action) list.get(list.size() - 2);
int item = action.getItem();
initComponent();
if (action.getFraction() instanceof SearchFraction) {
searchFraction.setItem(item);
setSearchAnimator(search, search_img, ResourceTable.Media_search_true, search_text);
selectInt = 0;
} else if (action.getFraction() instanceof ProFileFraction) {
proFileFraction.setItem(item);
setSearchAnimator(profile, profile_img, ResourceTable.Media_mine_true, profile_text);
selectInt = 2;
} else if (action.getFraction() instanceof FavoritesFraction) {
favoritesFraction.setItem(item);
setSearchAnimator(favorites, favorites_img, ResourceTable.Media_heart_true, favorites_text);
selectInt = 1;
}
((FractionAbility) getAbility()).getFractionManager()
.startFractionScheduler()
.hide(searchFraction)
.hide(favoritesFraction)
.hide(proFileFraction)
.show(action.getFraction())
.submit();
if (list.size() != 0) {
list.remove(list.size() - 1);
}
}
CodeCheck: тестирование кода без исключений. CloudTest: тестирование кода без исключений. Вирусная безопасность: проверка пройдена. Текущая версия demo: основные функции соответствуют исходному компоненту.
1.0.0
Copyright 2016 JetRadar 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.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )