Можно ли изменить форму бара поиска андроида? - PullRequest
1 голос
/ 21 сентября 2011

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

Ответы [ 3 ]

1 голос
/ 21 сентября 2011

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

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

0 голосов
/ 21 сентября 2011

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

0 голосов
/ 21 сентября 2011

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

...