Как мне создать графический виджет пользовательского интерфейса игольчатого датчика в Android? - PullRequest
4 голосов
/ 24 мая 2011

Мне нужен графический датчик иглы (например, спидометр и т. Д.) Для моего приложения, но такой виджет пользовательского интерфейса не является частью SDK, поэтому мне, вероятно, придется создать его самостоятельно.

Моя идея состоит в том, чтобы фон с галочками и цветными полями (зеленый, желтый, красный) представлял собой одно растровое изображение, а иглу - как другое растровое изображение, нарисованное поверх фона, но повернутое на соответствующий угол.

В моей книге «Профессиональная разработка приложений для Android 2» есть несколько похожий пример с компасной розой, хотя он нарисован с использованием линейной графики, а не предварительно сфабрикованных изображений, которые мне придется использовать, чтобы получить желаемый вид.

Однако в примере с компасом весь холст вращается перед нанесением отметок. Я не могу использовать этот подход, так как он также будет вращать фон датчика. Поэтому мне нужно как-то повернуть изображение иглы (которое должно быть прозрачным) перед наложением. Но я не знаю, как это сделать.

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

1 Ответ

3 голосов
/ 25 мая 2011

Вы можете разделить свой датчик на разные слои.Один для фона, один для отметок.Слой для меток можно повернуть, чтобы нарисовать метки, а затем повернуть назад и объединить со слоем 'background'.

Вы можете увидеть следующий пример с техникой слоя, описанной выше: http://mindtherobot.com/blog/534/android-ui-making-an-analog-rotary-knob/

PS Это не мой блог, я только что нашел эту технику там.

...