Как нарисовать слот для осложнений на циферблате? - PullRequest
0 голосов
/ 21 октября 2018

Я создаю свой собственный Android-циферблат, и до сих пор все работает хорошо.Сейчас я пытаюсь создать свое первое осложнение, чтобы показать секунды.Я знаю, что мне нужно создать свой собственный поставщик данных для этого осложнения.Я уже видел несколько видео на YouTube и прочитал некоторые документы.Мои вопросы:

  • Как создать слот усложнения для отображения на моем лице?
  • Как установить его положение на циферблате?
  • Должен ли я создать для этого занятие?

1 Ответ

0 голосов
/ 22 октября 2018

Как создать слот усложнения для отображения на моем лице?

Самый простой способ - использовать ComplicaitonDrawable .Он будет обрабатывать всю логику того, что отображать (наклон, текст, значок и т. Д.) Для вас.Он также может быть стилизован под ваш циферблат.Обязательно заполняйте его данными о сложности, когда ваш циферблат получает обратный вызов:

@Override
public void onComplicationDataUpdate(int id, ComplicationData data) {
    mComplicationDrawable.setComplicationData(data);
}

Как установить его положение на циферблате?

The ComplicationDrawable можно легко нарисовать в любом месте на холсте:

mComplicationDrawable.setBounds(myComplicationBounds);
mComplicationDrawable.draw(canvas, currentTimeMillis);

Нужно ли мне создавать для этого действие?

Вам не нужно задание дляустановите положение слота усложнения (если вы не хотите, чтобы пользователь мог выбрать / изменить положение).

Вам нужно действие настройки, чтобы позволить пользователю выбрать поставщика данных для вашего слота усложнения.Google любезно предоставил образец циферблата, который показывает рекомендуемый способ сделать это.Он доступен на GitHub .

...