dropdownButton 列表按钮

dropdownButton 是一个展示列表的按钮。

  • XML 元素:dropdownButton

  • Java 类:DropdownButton

基本用法

dropdownButton 可以显示文字和图标:

dropdown button basics

下面的示例定义了一个带文字、图标以及从 消息包 获取提示(title 属性)的 dropdownButton

<dropdownButton icon="MAILBOX" text="Contact Us" title="msg://contact">
    <items>
        <textItem id="callItem" text="Call Us"/>
        <textItem id="emailItem" text="E Mail"/>
        <textItem id="whatsAppItem" text="WhatsApp"/>
    </items>
</dropdownButton>

XML 内部元素

XML 中定义 dropdownButton 可以包含一些内部元素:

actionItem

actionItem - 这个元素设置一个通过 ref 属性指定的 操作

<actions>
    <action id="callAction" text="Call Us" icon="PHONE"/>
</actions>
<layout>
    <dropdownButton icon="MAILBOX" title="msg://contact" id="callBtn">
        <items>
            <actionItem id="callUsItem" ref="callAction"/>
        </items>
    </dropdownButton>
</layout>
@Subscribe("callAction")
public void onCallAction(final ActionPerformedEvent event) {
    notifications.create("Phone number: +6(876)5463")
            .show();
}

componentItem

componentItem - 该元素为 dropdownButton 设置自定义的内容。内容的点击监听 ClickListener 可以在控制器添加。

<layout>
    <dropdownButton icon="MAILBOX" title="msg://contact" id="callBtn">
        <items>
            <componentItem id="emailIt">
                <hbox padding="false">
                    <icon icon="MAILBOX"/>
                    <span text="E Mail"/>
                </hbox>
            </componentItem>
        </items>
    </dropdownButton>
</layout>
@Subscribe("callBtn.emailIt")
public void onEmailItClick(final DropdownButtonItem.ClickEvent event) {
    notifications.create("Email: test@river.net")
            .show();
}

textItem

textItem - 该元素设置一个文本。点击监听 ClickListener 可以在控制器添加。

<layout>
    <dropdownButton icon="MAILBOX" title="msg://contact" id="callBtn">
        <items>
            <textItem id="whatsAppIt" text="WhatsApp"/>
        </items>
    </dropdownButton>
</layout>

separator

separator - 该元素用来分隔选项。

XML 属性

设置下拉提示符的可见性。

默认值为 true

openOnHover

如果 openOnHover 属性设置为 true,则当光标悬停或触屏点击时自动显示选项列表。

默认值为 false

XML 内部元素

事件和处理器

在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 CodeGenerate 菜单(Alt+Insert / Cmd+N)生成。