Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2020 October 23

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
eg
        if (textStats == null) {
           Instant before = Instant.now();
               textStats = new TextStats(canvas, line, textPaint, drawBounds) {
                   @Override
                   float getOffsetY() {
                       return offset_y;
                   }
               };
               textStats.buildLineInfo(stream);
       }
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
in which textStats is a variable in TextBook, and TextBook is a variable in my TextBookView
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
so it is effetively only initialized once per TextBookView instance, and does not change even if the text is then changed

which this is a poor approach but suffient for testing as i do not have the actual edit part implemented

eg its just an implementation of a TextView with a basic embedded ScrollView
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
ah, I see
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
well, next time it worth mentioning, that you have quite a specific use case
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
that allows to perform measurements outside of the textview layout pass context
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i have a feeling that would also use the same line breaking code that Layout uses since it contains paragraph info
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
100%, but that's my point - you can precompute everything in the background without affecting user experience
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
yes but it would still have the same problem, the text would show up 200ms after the textView shows up
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
are android's Canvas and Paint objects just SkCanvas and SkPaint?
источник

DG

Dmitry Gordin in Android NDK (C++) — русскоговорящее сообщество
Matthew Good
yes but it would still have the same problem, the text would show up 200ms after the textView shows up
i still don't understand the issue with measuring first part of text in few ms and display it immediately
then measure all the rest
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
Dmitry Gordin
i still don't understand the issue with measuring first part of text in few ms and display it immediately
then measure all the rest
like measuring it in chunks?
источник

DG

Dmitry Gordin in Android NDK (C++) — русскоговорящее сообщество
yes, measure first piece to display immediately then measure the rest as you need: whole in background once or in chunks during scrolling
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
ok
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
Matthew Good
yes but it would still have the same problem, the text would show up 200ms after the textView shows up
Why would you wait for a TextView to appear before you do the measurement?
источник

AB

Alex Bieliaiev in Android NDK (C++) — русскоговорящее сообщество
Measure your text beforehand
источник
2020 October 24

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Ищите в группах по android
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i got Skia working :)
источник