2011-12-16 2 views

ответ

3

SurfaceView - это особый компонент, его нелегко смешивать с другими компонентами. Основная причина заключается в том, как это работает: при использовании SurfaceView будет создано новое окно (по умолчанию за активностью), и весь рендеринг в SurfaceView перейдет в это окно. SurfaceView также будет «рисовать дыру» в активности, поэтому окно за ней будет видно.

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

Просьба предоставить дополнительную информацию о том, что вы пытаетесь сделать. Если вы просто хотите создать пользовательский компонент, проще просто подкласс «Просмотр» и переопределить onDraw (Canvas).

+0

@ Pal: Это означает, что я не могу добавить представление для рекламного объявления в нижней части экрана, поверх вид сверху? –

+0

@ Pal: спасибо за ответ. Я новичок в android. Я разрабатываю простое приложение, в котором пользователь может выбирать цвета и должен быть способен рисовать, и, наконец, он будет сохранять как изображение. Но если я использую canvas, так как я сказал, что сталкиваюсь со следующей проблемой ... »Сначала я нарисую некоторую строку, выбрав зеленый цвет. Next, если я выбираю красный цвет, чем то, что я нарисовал ранее (например: зеленый цвет), эта линия также меняется на красный цвет ». Итак, я использую следующий пример https://sites.google.com/site/tutorialsformobileprogramming/android-tutorials/android-files – user2012

+0

@ Pal: но если я использую приведенный выше пример, я не смогу сохранить прокрутка, Если я использую canvas, я могу продолжать прокручивать, но я сталкиваюсь с проблемой при изменении цветов. Can u pls дайте мне знать, как изменить цвета при рисовании с использованием холста. – user2012