Как вы делаете адаптацию осложнений?
Я следовал этому уроку о том, как добавить осложнения к циферблату, используя ComplicationDrawable
, Я не могу понять, как мне сделать ComplicationDrawable
реагировать на контент? Например, если тип данных для нижней сложности ComplicationData.TYPE_LONG_TEXT
как мне сделать мой ComplicationDrawable
шире подстраивать под текст?
Вот мой код того, как я рисую границы для осложнений.
Я не могу найти пример этого нигде, так что, возможно, это невозможно.
1 ответ
Решение
В вашем коде уже есть все, что вам нужно. Единственное, чего не хватает, это установить границы в зависимости от типа сложности. Вот как я это делаю:
// Create a ComplicationDrawable object, and give it a Context.
ComplicationDrawable complicationDrawable = new ComplicationDrawable();
complicationDrawable.setContext(context);
// Set the ComplicationData from the onComplicationDataUpdate(int id, ComplicationData data) callback in your WatchFaceService.Engine class.
complicationDrawable.setComplicationData(data);
// Set the bounds based on the current complication type.
Rect bounds = new Rect();
if (data.getType() == ComplicationData.TYPE_LONG_TEXT) {
bounds.set(getLongTextBounds());
} else {
bounds.set(getShortTextBounds());
}
complicationDrawable.setBounds(bounds);
// Set all other customization options, and draw the ComplicationDrawable to your canvas.