У меня есть собственный вид, который должен рисовать растровое изображение. Я создал простую линию (BMP 1x50 пикселей), чтобы проверить, где именно она будет нарисована. В моем onDraw(Canvas c)
я использую эту строку кода:
canvas.drawBitmap(bitmap, 0, 0, paint);
Где краска - это простой объект Paint, без каких-либо причудливых настроек. Проблема в том, что эта линия отображается посередине изображения, а не сверху, как я думал.
Я устанавливаю свойства просмотра в макете xml:
<com.example.CustomView
android:id="@+id/costom_view"
android:layout_width="230px"
android:layout_height="188px"
android:layout_marginTop="10px"
custom:srcDraw="@drawable/menu_indicators_level_draw_up" />
Это настраиваемое свойство является идентификатором растрового изображения, которое я использую для рисования на холсте.
Почему View не работает должным образом? И почему мой холст имеет размер 800x450 (размер экрана, я полагаю), а не 230x188, как я определил в макете?
И что очень важно, я хочу многократно умножить одно и то же растровое изображение на это представление. В конце работы я хочу провести эту линию снизу вверх в моем представлении.
onDraw()
я рисую только эту одну линию, как я уже упоминал, есть толькоcanvas.drawBitmap(bitmap, 0, 0, paint);
, растровое изображение инициализируется из ресурсов в конструкторе, а такжеpaint = new Paint()
, вот и все. - person Prettygeek   schedule 23.01.2014