Size: a a a

Javanese Questions

2019 March 13

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
#вопрос #android #view #bitmap
В DialogFragment есть  SignatureView, в котором на Canvas рисуется подпись пользователя. Нужно передать подпись из DialogFragment в target fragment и показать её в ImageView.
При отладке передачи подписи заметил, что Bitmap, который я создаю из SignatureView, пустой (отладочное сообщение bmp = "").
Вопрос: как правильно записать содержимое SignatureView в Bitmap?
@Harmonizr это тот самый диалог с подписью, скрины которого я отправлял в лс.

И кстати, как это сделать нормально без вызова deprecated методов, таких как  setDrawingCacheEnabled()?

UPD Код: https://gist.github.com/fm-norton/8a33ec339e5bffbc36c91148e3e94f1f
Можно любую вьюху попросить нарисоваться на определённом битмапе, завёрнутом в канву.
источник

F

Fieldmarshal in Javanese Questions
она рисуется именно так, но bitmap всё равно пустой.
источник

QH

Quantum Harmonizer in Javanese Questions
тогда надо код)
источник

F

Fieldmarshal in Javanese Questions
Quantum Harmonizer
тогда надо код)
добавил
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
добавил
можешь указать, на что из этих пятисот строк смотреть?
источник

F

Fieldmarshal in Javanese Questions
Quantum Harmonizer
можешь указать, на что из этих пятисот строк смотреть?
SignatureDialogFragment - onCreateView и saveSignature и в SignatureView - правильно ли отрисовка идёт?
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
SignatureDialogFragment - onCreateView и saveSignature и в SignatureView - правильно ли отрисовка идёт?
налицо попытка использовать Parcel для чего-то странного, да ещё и неправильно
источник

F

Fieldmarshal in Javanese Questions
в getBitmapFromView как раз получаю пустой bitmap, даже если на вьюшке что-то нарисовано.
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
в getBitmapFromView как раз получаю пустой bitmap, даже если на вьюшке что-то нарисовано.
как убеждаешься в том, что пустой?
источник

QH

Quantum Harmonizer in Javanese Questions
И разве у SignatureView нет встроенного способа передавать подпись, без костылей?
источник

F

Fieldmarshal in Javanese Questions
Quantum Harmonizer
как убеждаешься в том, что пустой?
вот так, при отладке вижу. Потом конвертируется в непустой byteArray, потом в Registration Fragment Glide кидает исключения и говорит Factory returned null
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
вот так, при отладке вижу. Потом конвертируется в непустой byteArray, потом в Registration Fragment Glide кидает исключения и говорит Factory returned null
Кавычки видишь? Это вообще ничего не говорит о битмапе.
источник

F

Fieldmarshal in Javanese Questions
Quantum Harmonizer
И разве у SignatureView нет встроенного способа передавать подпись, без костылей?
переписываю старый очень костыльный способ, то есть этот.
источник

SZ

Stas Zemlyakov in Javanese Questions
Quantum Harmonizer
Кавычки видишь? Это вообще ничего не говорит о битмапе.
Как "не говорит", разве не должно быть там toString'овое представление объекта?
источник

QH

Quantum Harmonizer in Javanese Questions
Stas Zemlyakov
Как "не говорит", разве не должно быть там toString'овое представление объекта?
У Bitmap не переопределён toString
источник

F

Fieldmarshal in Javanese Questions
bmp затем сжимается в непустой png с белым фоном, т.е. пустую подпись.
источник

NI

Nikita Ivanov in Javanese Questions
Более того, в студии есть возможность просматривать битмапу в режиме дебага
источник

NI

Nikita Ivanov in Javanese Questions
Не знаю в какой версии добавили, но в 3.4 вроде уже было
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
bmp затем сжимается в непустой png с белым фоном, т.е. пустую подпись.
говорю тебе, с Parcel делается что-то не то, ты не вычитаешь оттуда ничего
источник

F

Fieldmarshal in Javanese Questions
битмап пустой. Через View Bitmap увидел
источник