1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chinasoft_ohos-MaterialSpinner

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Материал Спиннер

Проект

  • Название проекта: Материал Спиннер.
  • Серия: адаптация сторонних компонентов openharmony.
  • Функция: реализация выпадающего списка управления в стиле Material.
  • Состояние переноса проекта: при выборе раскрывающегося списка нет эффекта водной ряби; при отображении опций раскрывающегося списка без тени на границе.
  • Вызов различий: нет.
  • Версия разработки: SDK6, DevEco Studio 2.2 Beta1.
  • Базовая версия: Release 1.0.8.

Демонстрация эффекта

Инструкция по установке

  1. В файле build.gradle в корневом каталоге проекта:
allprojects {
    repositories {
        maven {
            url 'https://s01.oss.sonatype.org/content/repositories/releases/'
        }
    }
}
  1. В файле build.gradle модуля entry:
dependencies {
   implementation 'com.gitee.chinasoft_ohos:MaterialSpinner:1.0.0'
   ......  
}

Проект можно запустить напрямую под sdk6 и DevEco Studio 2.2 Beta1. Если не удаётся запустить, удалите файлы проекта .gradle, .idea, build, gradle, build.gradle и создайте новый проект с соответствующей версией, затем скопируйте новые файлы проекта в корневой каталог.

Использование

Компонент в основном состоит из Text и ListContainer в форме PopupDialog.

Исходный открытый исходный код был переписан Text, а текущий проект openharmony переписал DependentLayout, который содержит Text.

Добавьте раскрывающийся список в XML:

<com.jaredrummler.materialspinner.MaterialSpinner
    ohos:id="$+id:spinner"
    ohos:width="match_parent"
    ohos:height="match_content"
    ohos:min_height="36vp"
    ohos:bottom_margin="$float:fab_margin"
    ohos:left_margin="$float:fab_margin"
    ohos:end_margin="$float:fab_margin"
    ohos:top_margin="$float:fab_margin"
    app:ms_dropdown_max_height="360vp"
    app:ms_dropdown_height="360vp"
    app:ms_background_selector_press="#FF0000"
    app:ms_background_selector_normal="#00FF00"
    app:ms_background_color="#FFFFFF"
    app:ms_text_color="$color:black"
    app:ms_hint_color="$color:black"
    app:ms_arrow_tint="#000000"
    app:ms_hide_arrow="false"
    app:ms_hint=""
    app:ms_padding_top="22"
    app:ms_padding_left="50"
    app:ms_padding_bottom="22"
    app:ms_padding_right="30"
    app:ms_popup_padding_top="0"
    app:ms_popup_padding_left="26"
    app:ms_popup_padding_bottom="0"
    app:ms_popup_padding_right="0" />

Добавьте элементы списка в раскрывающийся список и отобразите их после нажатия:

    MaterialSpinner spinner = (MaterialSpinner) findComponentById(ResourceTable.Id_spinner);
    spinner.setItems("Ice Cream Sandwich", "Jelly Bean", "KitKat", "Lollipop", "Marshmallow");
    spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {

        @Override
        public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
            DirectionalLayout toastLayout = (DirectionalLayout) LayoutScatter.getInstance(MainAbilitySlice.this)
                    .parse(ResourceTable.Layout_layout_toast, null, false);
            Text text = (Text) toastLayout.findComponentById(ResourceTable.Id_msg_toast);
            text.setText("Clicked " + item);
            text.setTextAlignment(TextAlignment.LEFT);
            text.setMultipleLine(true);
            text.setMaxTextLines(2);
            text.setTruncationMode(Text.TruncationMode.ELLIPSIS_AT_END);
            new ToastDialog(MainAbilitySlice.this)
                    .setComponent(toastLayout)
                    .setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT)
                    .setAlignment(LayoutAlignment.BOTTOM | LayoutAlignment.HORIZONTAL_CENTER)
                    .setDuration(5000)
                    .setOffset(0, 60)
                    .show();
        }
    });

Пользовательский MaterialSpinner может добавлять пользовательские атрибуты, конкретные доступные атрибуты следующие:

name type info
ms_arrow_tint color sets the color on the drop-down arrow
ms_hide_arrow boolean set to true to hide the arrow drawable
ms_background_color color set the background color for the spinner and drop-down
ms_background_selector integer set the background resource for the dropdown items
ms_text_color color set the text color
ms_dropdown_max_height dimension set the max height of the drop-down

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Расширить Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/chinasoft_ohos-MaterialSpinner.git
git@gitlife.ru:oschina-mirror/chinasoft_ohos-MaterialSpinner.git
oschina-mirror
chinasoft_ohos-MaterialSpinner
chinasoft_ohos-MaterialSpinner
master