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

OSCHINA-MIRROR/chinasoft_ohos-commontools-ohos

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

CommonTools

ohos — библиотека сторонних инструментов, включающая toast, log, ohosext, utils и др.

Способ внедрения:

repositories {
    maven {
        url 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
    }
}

implementation 'com.gitee.chinasoft_ohos:commontools:0.0.4-SNAPSHOT'

Timber log

Особенности:

  1. автоматически добавляет текущее имя класса в качестве тега;
  2. поддерживает одновременный вывод на различные пути журналов, такие как HiLog и SystemOut (и другие расширения, например, файлы или сеть).
// По возможности инициализируйте как можно раньше, обычно помещается в объект приложения onInitialize
Timber.plant(new LogTree.HiLog());
// В среде имитатора HiLog иногда происходит потеря журнала, можно использовать вывод system.out, способ инициализации:
// Timber.plant(new LogTree.SystemOut());

// Пример вывода журнала
Timber.v("SayHello");
Timber.d("onPageStart, timeMs=%d", System.currentTimeMillis());

Toast

Особенности: настраиваемый внешний вид toast, по умолчанию внешний вид соответствует стилю AOSP.
Рекомендуется выполнить инициализацию перед использованием, предпочтительно в методе onInitialize объекта приложения: Toast.init(getContext()).
Пример вызова: Toast.show("I am a toast like AOSP")

Utils

  • AttrValue — инструмент для чтения пользовательских атрибутов компонентов xml;
mText = AttrValue.get(attrSet, "text", "");
mTextBold = AttrValue.get(attrSet,"textBold", false);
mTextSize = AttrValue.getDimension(attrSet, "textSize", AttrHelper.fp2px(16, getContext()));
  • TouchHelper — преобразует координаты сенсорного события компонента в смещение относительно самого себя подробности см. здесь.

Kt2j — удобный инструмент для преобразования kotlin в java

  • Область действия расширенного метода KtExtensions включает: apply, run, with, also, takeIf, takeUnless и т. д.
  • Другие методы расширения включают:
    • ArrayExtension: slice
    • IterableExtension: groupBy, getOrPut, joinToString
    • ...

ohosext — упаковка и дополнение API ohos

  • SimpleAsyncTask — используется аналогично AsyncTask, но без параметра progress для отслеживания прогресса.

  • StringPreferences — решает проблему ohos Preferences, связанную с невозможностью хранить более 8192 символов, используя метод, аналогичный SharedPreferences.

  • ValueAnimator — ниже приведены примеры различий или дополнительных функций API, остальные методы вызова аналогичны методам Animator, таким как start(), cancel() и setDuration.

        // Example1
        // int и float разница анимации
        ValueAnimator animator = ValueAnimator.ofFloat(0, 1f);// ValueAnimator.ofInt(0, 100);
        // компонент свойства анимации, поддержка вращения, масштабирования, перемещения, прозрачности
        ValueAnimator animator = ValueAnimator.ofObject(view, 0, 1f,
            ValueAnimator.Property.SCALE_X, ValueAnimator.Property.SCALE_Y);

        // Example2
        // int и float разница анимации
        ValueAnimator animator = new ValueAnimator();
        animator.setFloatValues(0, 1f);// animator3.setIntValues(0, 100);
        // компонент свойств анимации, поддержка вращения, масштабирования, перемещения, прозрачности
        ValueAnimator animator = new ValueAnimator();
        animator.setObjectProperties(view, 0, 1f,
            ValueAnimator.Property.SCALE_X, ValueAnimator.Property.SCALE_Y);
        // Установить режим цикла
        animator.setRepeatMode(ValueAnimator.RepeatMode.REVERSE);
        // установить количество циклов
        animator.setRepeatCount(AnimatorValue.INFINITE);
        // Установите разницу
        animator.setInterpolatorType(Animator.CurveType.ACCELERATE_DECELERATE);
        // Добавить слушателя анимации значения
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(AnimatorValue animatorValue, float fraction, Object animatedValue) {
                float value = (float) animatedValue;
                // animatorValue: версия атрибута анимации ohos
                // fraction: диапазон значений [0,1] ohos AnimatorValue
                // animatedValue: соответствующий android getAnimatedValue()
            }
        });
        // Выполнить анимацию в обратном порядке от текущего состояния
        animator.reverse();
        // добавить слушатель выполнения анимации
        animator.addListener(new ValueAnimator.AnimatorListener() {
            @Override
            public void onAnimationStart(ValueAnimator animation) {

            }

            @Override
            public void onAnimationEnd(ValueAnimator animation) {

            }

            @Override
            public void onAnimationStop(ValueAnimator animation) {

            }

            @Override
            public void onAnimationCancel(ValueAnimator animation) {

            }

            @Override
            public void onAnimationRepeat(ValueAnimator animation) {

            }

            @Override
            public void onAnimationPause(ValueAnimator animation) {

            }

            @Override
            public void onAnimationResume(ValueAnimator animation) {

            }
        });

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

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

Введение

OHOС — это набор базовых инструментов сторонних библиотек, включающий toast, log, ohosext, utils и другие. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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