vksdk / vk-sdk-kotlin

Unofficial VK SDK, written in Kotlin: make bots, use the API
https://vksdk.github.io/vk-sdk-kotlin
MIT License
70 stars 16 forks source link

Создание клавиатуры на Java #18

Closed DokanBoy closed 4 years ago

DokanBoy commented 4 years ago

Приветствую, как создать клавиатуру? Нашел пример на Kotlin, но интересует именно код на Java.

petersamokhin commented 4 years ago

Может, всё-таки на котлине?

На Java можно просто билдер использовать. К сожалению, я этот момент не увидел и не добавил @JvmOverloads к конструкторам классов, относящихся к клавиатуре, так что будет не очень красиво (хотя на Java иначе сложно).

List<List<Button>> buttons = new ArrayList<>();
List<Button> firstRow = new ArrayList<>();
firstRow.add(new Button(
    new Action(Action.Type.TEXT, "Label left", null, null, null, null, null),
    Button.Color.PRIMARY
));
firstRow.add(new Button(
    new Action(Action.Type.TEXT, "Label right", null, null, null, null, null),
    Button.Color.NEGATIVE
));
buttons.add(firstRow);

Keyboard keyboard = new Keyboard(buttons, false, false, null);

И эту клавиатуру передавать в билдер сообщения. Код не проверял, так что, возможно, его придется поправить. Когда-то позже сделаю, чтобы null не приходилось передавать в Java и добавлю более развернутые примеры.

DokanBoy commented 4 years ago

Спасибо.