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'
Особенности:
// По возможности инициализируйте как можно раньше, обычно помещается в объект приложения 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, по умолчанию внешний вид соответствует стилю AOSP.
Рекомендуется выполнить инициализацию перед использованием, предпочтительно в методе onInitialize объекта приложения: Toast.init(getContext())
.
Пример вызова: Toast.show("I am a toast like AOSP")
mText = AttrValue.get(attrSet, "text", "");
mTextBold = AttrValue.get(attrSet,"textBold", false);
mTextSize = AttrValue.getDimension(attrSet, "textSize", AttrHelper.fp2px(16, getContext()));
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 )