Как сделать кнопку, которая показывает список опций при длинном нажатии, как на Soft Keyboard - PullRequest
0 голосов
/ 31 октября 2010

Я хочу использовать / создать кнопку, которая работает как кнопка на программной клавиатуре (HTC Desire).Чтобы при длинном щелчке отображался список параметров, и, проведя пальцем влево или вправо, вы выбираете вариант, который хотите выбрать.

Пример. Когда я удерживаюКнопка «12 #» на клавиатуре, она представляет список: [: / @ _ -!?'], и, сдвигая влево или вправо, он выделяет одного из этих символов и выбирает выбранного, когда я отпускаю палец.Если я просто щелкну нормально, он выберет символ по умолчанию.

Есть ли такой виджет в Android SDK, или кто-нибудь может дать подсказку о том, как реализовать такой компонент.

См. Скриншот: Ввод текста и просто долгое нажатие кнопки «12 #»."!"в настоящее время выбран.

alt text

1 Ответ

1 голос
/ 31 октября 2010
  1. Создайте пользовательское действие с помощью android:theme="@android:style/Theme.Dialog" (это даст прозрачный, плавающий вид диалогового окна).
  2. Добавьте к нему LinearLayout с android:orientation="horizontal"
  3. Добавить кнопку с иконками в LinearLayout.Это создает прозрачную кнопку со значком и текстом под ним:

    <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"
    
  4. Используйте Button.onKeyLongPress (..) , чтобы показать это действие.

...