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

OSCHINA-MIRROR/HarmonyOS-tpc-flexbox-layout

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 17 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 09:56 5a295ab

Флексбокс-лэйаут

Введение

Флексбокс лэйаут — это библиотечный проект, который переносит аналогичные возможности модуля CSS Flexible Box Layout в openharmony.

В модели гибкого макета дочерние элементы гибкого контейнера могут быть расположены в любом направлении и могут «изменять» свои размеры, либо заполняя неиспользуемое пространство, либо сжимаясь, чтобы избежать переполнения родительского элемента.

Можно легко манипулировать как горизонтальным, так и вертикальным выравниванием дочерних элементов.

Скриншоты

Функции

  • Создание флексбокс-лэйаута с помощью Flex Direction в ROW, ROW_REVERSE, COLUMN и COLUMN_REVERSE.
  • Создание флексбокс-лэйаута с Flex Wrap как NO_WRAP, WRAP и WRAP_REVERSE.
  • Создание флексбокс-лэйаута с Justify Content как FLEX_START, FLEX_END, CENTER, SPACE_BETWEEN, SPACE_AROUND и SPACE_EVENLY.
  • Создание флексбокс-лэйаута с Align Items как FLEX_START, FLEX_END, CENTER, BASELINE, и STRETCH.
  • Создание флексбокс-лэйаута с Align Content как FLEX_START, FLEX_END, CENTER, SPACE_BETWEEN, SPACE_AROUND и STRETCH.
  • Обновление атрибутов дочернего представления с помощью значения order.
  • Обновление атрибутов дочернего представления с помощью значений flex grow и flex shrink.
  • Обновление атрибутов дочернего представления с помощью значения flex basis percent.
  • Обновление атрибутов дочернего представления с помощью значений width, height вместе с minimum и maximum.
  • Обновление атрибутов дочернего представления с помощью wrap before.
  • Обновление атрибутов дочернего представления с помощью Align Self как AUTO, FLEX_START, FLEX_END, CENTER, BASELINE и STRETCH.

Инструкция по использованию

Добавьте com.google.harmony.flexbox.FlexboxLayout в свой XML-файл макета.

<com.google.harmony.flexbox.FlexboxLayout
        ohos:id="$+id:flexbox"
        ohos:height="match_parent"
        ohos:width="match_parent">
        <Text
            ohos:id="$+id:text_1"
            ohos:height="80vp"
            ohos:width="110vp"
            ohos:background_element="$graphic:flex_item_background"
            ohos:text_alignment="center"
            ohos:text="1"
            ohos:text_size="20fp" />
        <Text
            ohos:id="$+id:text_2"
            ohos:height="80vp"
            ohos:width="140vp"
            ohos:background_element="$graphic:flex_item_background"
            ohos:text_alignment="center"
            ohos:text="2"
            ohos:text_size="20fp" />
        <Text
            ohos:id="$+id:text_3"
            ohos:height="80vp"
            ohos:width="110vp"
            ohos:background_element="$graphic:flex_item_background"
            ohos:text_alignment="center"
            ohos:text="3"
            ohos:text_size="20fp" />
</com.google.harmony.flexbox.FlexboxLayout>

Настройка свойств флексбокс-лэйаута

FlexboxLayout flexLayout = ((FlexboxLayout) findComponentById(ResourceTable.Id_flexbox));
// Чтобы установить направление флексбокса
flexLayout.setFlexDirection(COLUMN);
// Чтобы задать перенос флексбокса
flexLayout.setFlexWrap(WRAP);
// Чтобы настроить выравнивание содержимого
flexLayout.setJustifyContent(FLEX_END);
// Чтобы настроить выравнивание элементов
flexLayout.setAlignItems(FLEX_END);

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

Способ 1:
Сгенерируйте .har-пакет через библиотеку и добавьте .har-пакет в папку libs.
Добавьте следующий код в начальный gradle:
    implementation fileTree  (dir: 'libs', include: ['*.jar', '*.har'])

Способ 2:
В build.gradle на уровне проекта:
    allprojects{
        repositories{
            mavenCentral()
        }
    }
Добавьте следующий код в начальный gradle:
    implementation 'io.openharmony.tpc.thirdlib:flexbox-layout:1.0.0'

Версия

v1.0.0-ohos

Лицензия

Apache License Version 2.0, January 2004 Условия использования, воспроизведения и распространения

  1. Определения.

    Под «Лицензией» понимаются условия использования, воспроизведения и распределения, определённые разделами с 1 по 9 данного документа.

    «Лицензиар» — владелец авторских прав или организация, уполномоченная владельцем авторских прав, предоставляющая Лицензию.

    «Юридическое лицо» означает объединение действующего субъекта и всех других субъектов, которые контролируют, контролируются или находятся под общим контролем с этим субъектом. Для целей этого определения «контроль» означает (i) право, прямое или косвенное, определять направление или управление таким субъектом, будь то по контракту или иным образом, или (ii) владение пятьюдесятью процентами (50%) или более выпущенных акций, или (iii) бенефициарное владение таким субъектом.

    «Вы» (или «Ваш») означает физическое лицо или Юридическое лицо, осуществляющее разрешения, предоставленные настоящей Лицензией.

    Форма «Исходник» означает предпочтительную форму для внесения изменений, включая, но не ограничиваясь исходным кодом программного обеспечения, документацией и конфигурационными файлами.

    Форма «Объект» означает любую форму, полученную в результате механического преобразования или перевода формы Исходника, включая, помимо прочего, скомпилированный объектный код, сгенерированную документацию и преобразования в другие типы носителей.

    «Работа» означает авторское произведение, будь то в форме Исходника или Объекта, доступное по Лицензии, как указано уведомлением об авторских правах, которое включено или прикреплено к работе (пример приведён в Приложении ниже).

    «Производные работы» означают любую работу, будь то в форме Исходника или Объекта, которая основана на (или получена из) Работы и для которой редакционные изменения, аннотации, разработки или другие модификации представляют собой в целом оригинальное авторское произведение. В целях настоящей Лицензии Производные произведения не включают работы, которые остаются отделяемыми от или просто ссылаются (или связываются по имени) на интерфейсы Работы и Производных произведений.

    «Вклад» означает любое авторское произведение, включая оригинальную версию Работы и любые модификации или дополнения к этой Работе или Производным произведениям, которые намеренно представлены Лицензиару для включения в Работу владельцем авторских прав или физическим лицом или Юридическим лицом, уполномоченным представлять интересы владельца авторских прав. Для целей настоящего определения «представленный» означает любую форму электронного, устного или письменного общения, отправленного Лицензиару или его представителям, включая, помимо прочего, общение в электронных списках рассылки, системах контроля исходного кода и системах отслеживания проблем, которые управляются или от имени Лицензиара для обсуждения и улучшения Работы, но исключая общение, которое явно помечено или иным образом обозначено в письменной форме владельцем авторских прав как «Не вклад».

    «Соучастник» означает Лицензиар и любое физическое лицо или Юридическое лицо, от имени которого Вклад был получен Лицензиаром и впоследствии включён в Работу.

  2. Предоставление лицензии на авторские права. С учётом условий и положений настоящей Лицензии каждый Соучастник настоящим предоставляет Вам бессрочную, всемирную, неисключительную, бесплатную, безвозмездную, безотзывную лицензию на воспроизведение, подготовку Производных работ, публичное отображение, публичное исполнение, сублицензирование и распространение Работы и таких Производных работ в форме Исходников или Объектов.

  3. Предоставление патентной лицензии. С учётом условий и положений настоящей Лицензии каждый Соучастник настоящим предоставляет Вам бессрочную, всемирную, неисключительную, бесплатную, безвозмездную (за исключением случаев, указанных в этом разделе) патентную лицензию на создание, использование, предложение продажи, продажу, импорт и иную передачу Работы, где такая лицензия применяется только к тем патентным требованиям, которые могут быть лицензированы таким Соучастником и которые обязательно нарушаются. Ответственность. Ни при каких обстоятельствах и ни в соответствии с какой-либо правовой теорией, будь то деликт (включая халатность), договор или иное, если только это не требуется применимым законодательством (например, преднамеренные и грубо небрежные действия) или не согласовано в письменной форме, ни один Автор не несёт перед Вами ответственности за ущерб, включая любой прямой, косвенный, особый, случайный или последующий ущерб любого характера, возникающий в результате этой Лицензии или из использования или невозможности использования Работы (включая, но не ограничиваясь ущербом за потерю деловой репутации, остановку работы, сбой или неисправность компьютера или любые другие коммерческие убытки или потери), даже если такой Автор был предупреждён о возможности такого ущерба.

9. Принятие гарантии или дополнительной ответственности. Распространяя Работу или Производные Работы, Вы можете предложить и взимать плату за принятие поддержки, гарантии, возмещения или других обязательств и/или прав, соответствующих настоящей Лицензии. Однако, принимая такие обязательства, Вы можете действовать только от своего имени и под свою исключительную ответственность, а не от имени какого-либо другого Автора, и только если Вы соглашаетесь освободить от ответственности, защищать и ограждать каждого Автора от любой ответственности, возникшей у него или претензий, заявленных против него по причине Вашего принятия любой такой гарантии или дополнительной ответственности.

КОНЕЦ УСЛОВИЙ И ПОЛОЖЕНИЙ

ПРИЛОЖЕНИЕ: Как применить лицензию Apache к вашей работе.

Чтобы применить лицензию Apache к своей работе, прикрепите следующее шаблонное уведомление, заменив поля, заключённые в квадратные скобки «[ ]», на вашу собственную идентифицирующую информацию. (Не включайте скобки!) Текст должен быть заключён в соответствующий синтаксис комментариев для формата файла. Мы также рекомендуем включить имя файла или класса и описание цели на той же «печатной странице», что и уведомление об авторских правах, для облегчения идентификации в сторонних архивах.

Авторское право 2018 Google LLC

Лицензия в соответствии с лицензией Apache, версия 2.0 («Лицензия»); вы не можете использовать этот файл иначе как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:

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

Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующего разрешения и ограничения в рамках Лицензии.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/HarmonyOS-tpc-flexbox-layout.git
git@api.gitlife.ru:oschina-mirror/HarmonyOS-tpc-flexbox-layout.git
oschina-mirror
HarmonyOS-tpc-flexbox-layout
HarmonyOS-tpc-flexbox-layout
master