2015-03-24 4 views
0

Я пытаюсь создать новый пользовательский вид в android. Представление - это анимированный круг, который должен поддерживать 3 состояния и анимацию переходов между ними: 1. не выбран - пустой круг. 2. selected - полный круг. 3. выбранный и светящийся - полный круг с «светом», выходящим из него (до некоторого радиуса). Я пробовал создать его следующим образом: Я расширил FrameLayout и создал 3 члена, называемых неэлектированными, выбранными и светящимися. Я создал 3 файла xml соответственно, у вас есть пустой круг, второй имеет заполненный круг и третий, на данный момент также содержит полный круг, хотя он должен содержать «свет».андроид пользовательский вид с формой и свечением

Анимации выполняются с использованием ObjectAnimator по альфе. Переключение между невыбранными и выбранными отлично работает.

Две проблемы: 1. Как создать «свет»? 2. Размер кругов всегда определяется самым большим изображением. Как мне это изменить?

ответ

0

Для этого создайте класс ButtonView, который расширит представление и сохранит три состояния. Не выбран-0, on-Press--1; Выбрано 2;

На верхнем уровне вам нужно нарисовать три разных круглых холста.

Если вы хотите какой-либо демо: , пожалуйста, используйте ссылку ниже: Вид на

https://github.com/markushi/android-circlebutton

вызова в вашем XML:

<at.markushi.ui.CircleButton 
      android:layout_width="64dip" 
      android:layout_height="64dip" 
      android:src="@drawable/ic_action_tick" 
      app:cb_color="#99CC00" 
      app:cb_pressedRingWidth="8dip" /> 

enter image description here

+0

Спасибо, что было полезно для ряда проблем 1. Проблема 2 была решена, поскольку я изменил способ рисования фигур. – yz101

+0

если его полезно 4 u, то, пожалуйста, отметьте как правые и другие. – Yogendra

+0

Это было полезно, но не фактическое решение проблемы. То, что я пытаюсь сделать, больше похоже на свет, окружающий круг. Это должно выглядеть так, как если бы белая лампа была включена в середине и распространяла свет вокруг и вокруг нее круговым способом, который исчезает. Границы должны быть выцветшими, а не резкими. – yz101