Можно ли изменить форму андроид-бара поиска?

Я хочу реализовать что-то похожее на панель поиска Android. Но не линейно, а в форме дуги. Можно ли настроить панель поиска в форме дуги?

3 ответа

Решение

Вы не можете заставить SeekBar рисовать большой палец любым другим способом, кроме смещения по горизонтали.

Код, который на самом деле рисует большой палец, находится в AbsSeekBar.onDraw, и там видно, что это просто горизонтальное смещение. Однако вы можете создать свой собственный виджет, расширяющий ProgressBar, который будет рисовать большим пальцем любым нужным способом (по дуге). Но вам также нужно будет реагировать на прикосновения, чтобы перевести его в линейный диапазон, который ожидает ProgressBar.

Вы можете изменить стиль панели поиска в своих собственных темах (взгляните на android:style/Widget.SeekBar), но это может быть трудно сделать как радуга.
Попробуйте прочитать исходный код ProgressBar и написать свою базу на основе ваших требований.

Я подумал, что вы могли бы добиться эффекта с помощью XML-документа, такого как LevelList, хотя вам, вероятно, понадобится много изображений для достижения эффекта http://developer.android.com/guide/topics/resources/drawable-resource.html

Другие вопросы по тегам