如何在长按一下显示一个显示选项列表的按钮,就像在软键盘上一样

时间:2010-10-31 19:21:10

标签: android android-widget android-sdk-2.1

我想使用/创建一个与(HTC Desire)软键盘上的按钮类似的按钮。 因此,当您长按一次时,它会显示一个选项列表,通过向左或向右滑动手指,您可以选择要选择的选项。

示例:当我按住键盘上的“12#”按钮时,它会显示 列表:[:/ @ _ - ! ? '],通过向左或向右滑动,它突出显示其中一个字符,并在我松开手指时选择所选字符。如果我只是正常点击,它会选择默认字符。

Android SDK中是否有这样的小部件,或者任何人都可以提示如何实现这样的组件。

查看屏幕截图:输入文字,然后长按“12#”按钮。 “!”目前已被选中。

alt text

1 个答案:

答案 0 :(得分:1)

  1. 使用android:theme="@android:style/Theme.Dialog"创建自定义活动(这将为其提供透明的浮动对话框外观)。
  2. 使用LinearLayout
  3. 添加android:orientation="horizontal"
  4. 使用图标添加一些按钮LinearLayout。这将创建一个透明按钮,其中包含一个Icon和一些文本:

    <Button android:id="@+id/optionsButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dip"
            android:text="@string/button_options_text"
            android:textColor="@color/button_text_grey"
            android:drawableTop="@drawable/button_options"
            android:drawablePadding="-5dip"
            android:background="@null"
    
  5. 使用Button.onKeyLongPress(..)显示此活动。