如何在Telegram Bot中实现每行显示一个InlineKeyboard按钮?
解决InlineKeyboardMarkup按钮单行显示问题
嘿,这问题我之前也踩过坑!你现在的代码之所以所有按钮挤在同一行,是因为你把所有InlineKeyboardButton都塞进了同一个一维数组里——Telegram的Inline键盘是按二维数组逻辑解析的,每个子数组对应键盘的单独一行。
要实现每行一个按钮,只需要把每个按钮单独放在一个子数组里就行,修改后的代码如下:
var mainKeyBoard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithCallbackData("beer") }, new[] { InlineKeyboardButton.WithCallbackData("price") }, new[] { InlineKeyboardButton.WithCallbackData("support") } });
顺便提一句,要是之后想调整布局(比如某一行放两个按钮),直接把那两个按钮放在同一个内层数组里就可以灵活实现啦。
内容的提问来源于stack exchange,提问作者abyssal whale
相关产品推荐
相关产品推荐

