Расположение столбцов на плитке в Android WatchAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Расположение столбцов на плитке в Android Watch

Сообщение Anonymous »

Наконец-то я заработал плитку для своего проекта Android Watch, но не могу заставить макет работать должным образом. Я пытаюсь иметь текст (динамически будет меняться в зависимости от состояния и таймера свежести) и кнопку. Я думал, что это будет очень легко сделать, но по какой-то причине каждый раз, когда я помещаю контент внутрь столбца или чего-либо еще, в предварительном просмотре ничего не отображается. Я не понимаю, что происходит...

Код: Выделить всё

class TimerTileRenderer(context: Context): SingleTileLayoutRenderer(context) {

//... code for produce resources for images and stuff omitted.

override fun renderTile(
state: TimerTileState,
deviceParameters: DeviceParametersBuilders.DeviceParameters
): LayoutElementBuilders.LayoutElement {
return timerTileLayout(
context,
deviceParameters,
state,
emptyClick
)
}
}

private fun timerTileLayout(
context: Context,
deviceParameters: DeviceParametersBuilders.DeviceParameters,
state: TimerTileState,
buttonClickable: ModifiersBuilders.Clickable
) = PrimaryLayout.Builder(deviceParameters)
.setContent(
Column.Builder()
.setHeight(expand())
.setWidth(expand())
.addContent(
Text.Builder().setText("Just a TEST").build()
)
.build()
)
.build()
Используя приведенный выше код, я вижу только черный экран. Я добавил вызов .setPrimaryChipContent после вызова setContent, просто чтобы убедиться, что он работает, и я вижу чип внизу экрана, но нет текста. Я даже пробовал вручную установить для шрифта текста белый цвет, но текста по-прежнему нет.
Однако, если я удалю столбец и просто использую там текст, я увижу текст.. .

Код: Выделить всё

private fun timerTileLayout(
context: Context,
deviceParameters: DeviceParameters,
state: TimerTileState,
buttonClickable: ModifiersBuilders.Clickable
) = PrimaryLayout.Builder(deviceParameters)
.setContent(
Text.Builder().setText("Just a TEST").build()
)
.setPrimaryChipContent(...)
.build()
Используя этот код, появляется мой текст. Моя конечная цель — иметь текст, а затем кнопку под ним, но каждый раз, когда я пытаюсь использовать столбец, на экране ничего не появляется, просто черный экран. Есть ли какой-то особый способ использовать Column, или Box, или что-то еще, чтобы разместить на экране более одного элемента?
Я знаю, что есть такие вещи, как MultiButtonLayout, но мне это не нужно. стиль, просто текст и кнопка. Что я могу попробовать дальше?

Подробнее здесь: https://stackoverflow.com/questions/764 ... roid-watch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»