2015-01-01 6 views
1

Я хочу узнать, как создать пользовательский вид. Я прошел через несколько учебников и не получил то, что хочу (я имею в виду понятие).Как создать пользовательский вид в android

Что я узнал

Я делюсь мое представление, если я ошибаюсь, пожалуйста, поправьте меня.

Если вы хотите сделать незначительное изменение стандартного представления, наследуйте себя (например, расширьте панель поиска) и настройте его.

Но если вы хотите сделать сложный или многофункциональный вид, мы должны наследовать View Class

Когда мы наследуем View.

два метода являются

необходимому
  1. OnDraw (холст холст) // это называют каждый раз, когда его, а также может быть вызов с использованием недействительной.
  2. onMeasure // это измерить фактическую ширину и размер и установите нашу viewit соответственно

Все, что вы хотите сделать на View можно сделать с помощью холста, (я прав).

Чтобы определить дополнительные атрибуты, создайте файл attrs.xml в папке res/values. и добавьте <declare-styleable name="YourCustomView"> и добавьте в него атрибуты.

получить эти атрибуты в конструкторе представления с помощью метода вызова типа TypedArray.

Мои Беспорядки

  1. мы можем сделать что-то без использования Canvas
  2. мы можем сделать ImageView без преобразования его в растровое.
  3. Я просто хочу создать пользовательское изображение, которое можно повернуть как dialView, но оно должно вращаться наполовину (полукруг), а также хотеть провести свой прогресс за его пределами. используя canvas.drawArc()

Что я хочу достичь

Я хочу создать свою собственную ручку, я искал наш Google, но не нашел то, что я хочу видеть мои вопросы здесь

First Question

Second Question

заранее спасибо ....

+0

[Это] (https://github.com/VadimDev/android-seekbar-like-ipod-clickwheel) может вам помочь. –

ответ

0

1) Вы можете использовать openGL. В противном случае вам нужен холст. Полотно определяет, где вы рисуете, без него (или эквивалент openGL), мы не знаем, где рисовать. Возможно, вам не захочется рисовать непосредственно на экране, его общее для рисования в растровых изображениях во многих случаях.

2) Ваш вопрос не имеет большого смысла. Почему вы хотите рисовать ImageView, кроме как позволить себе рисовать себя?

3) Самый простой способ сделать это - использовать обычное изображение и вызвать setRotation, чтобы повернуть его по мере необходимости.

+0

вы видели мои другие два вопроса, чего я хочу достичь – Nepster

Смежные вопросы