Нарисуйте рамку вокруг зоны нажатия на виджете - PullRequest
0 голосов
/ 09 марта 2011

У меня есть виджет, и я хочу нарисовать оранжевую рамку вокруг зоны касания на виджете.Рамка должна появиться, когда пользователь нажал на зону касания, и разорвался, когда пользователь отпустил свой палец.

В настоящее время я использую отдельные макеты для каждой зоны касания.Они отлично работают, кроме рамки.Я думаю, мне нужно установить

android:clickable="true"
android:focuseable="true"

для каждого макета.Также я подготовил прозрачную фигуру с оранжевой каймой.Но я не могу узнать, что мне делать дальше.Как нарисовать фигуру в зоне касания только во время постукивания?

1 Ответ

0 голосов
/ 11 марта 2011

Я нашел ответ на свой вопрос здесь . У меня недостаточно репутации, чтобы голосовать за ответ abscondment . Итак, кто-то может проголосовать на своем посту? Что касается этого вопроса,

android:clickable="true"
android:focuseable="true"

атрибуты не нужны. Я просто создал Drawable:

<?xml version="1.0" encoding="UTF-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:constantSize="true">
  <item android:state_pressed="true">
    <shape android:shape="rectangle">
      <corners android:radius="4dp" />
      <solid android:color="@android:color/transparent" />
      <stroke
        android:width="2dp"
        android:color="#eeffd700"
      />
    </shape>
  </item>
</selector>

и установите рисование в качестве фона для моих зон нажатия, например:

<LinearLayout
  android:background="@drawable/selection_rectangle"
/>
...