Size: a a a

Android Developers

2020 January 25

SS

Steel Sword in Android Developers
Скажем, я хочу записать в какой-нибудь ресурсовый файл размер шрифта и получать его запихивая везде куда можно. Как это сделать правильней?
источник

A

Arturx in Android Developers
в dimen запиши
источник

A

Arturx in Android Developers
наверное
источник

A

Arturx in Android Developers
🤔
источник

QH

Quantum Harmonizer in Android Developers
Александр
Народ, помохите, я чёт деграднул(или мб ночь сказывается) и не могу понять что в офф.доках написано

Вот, дока по вью, раздел layout.

https://developer.android.com/reference/android/view/View?hl=ru#layout

Первые два абзаца.
Я понимаю их так:

Когда экран начинает рисоваться, создаётся дерево вьюх. Для каждого из элементов дерева сверху вниз вызывается measure метод, в котором производятся измерения measuredHeight и measuredWidth - в контексте доки, это высота и ширина, которые вьюха хотела бы занимать(чёт сложна, ну пусть так пока). Каждая вьюха кеширует результат этих измерений.

Далее, когда вьюхи закончили эти свои вычисления, система вызывает для элементов дерева, опять же сверху вниз, layout метод, в котором каждый родитель должен определиться, как внутри себя расположить свои вьюхи. Во время вызова layout учитывает уже посчитаные measured значения, но у родителя есть ограничения, и вьюха должна их учитывать.

Вот тут основной зависон. Я так понимаю, если родителя чёт не устроило в результатах, которые вьюхи сами себе намерили, он я так понимаю может ещё разок вызвать у детей measure, но уже с другой спецификацией,(т.к в оконцовке родитель должен принять все те  measure параметры, что вьюхи намеряли). Так чтоль?
И да, и нет.
Во-первых, measure может быть несколько. Relative и некоторые случаи Linear с весами обмеряются дважды.
Во-вторых, что бы там дети ни намерили, в layout родитель их ставит перед фактом: такие-то границы и размеры, ебитес.
источник

А

Александр in Android Developers
Quantum Harmonizer
И да, и нет.
Во-первых, measure может быть несколько. Relative и некоторые случаи Linear с весами обмеряются дважды.
Во-вторых, что бы там дети ни намерили, в layout родитель их ставит перед фактом: такие-то границы и размеры, ебитес.
Ну да, для меня это значит что я всё ок понял.

Вьюхи себе понамерили там чот, пришёл родитель, посмотрел на результаты измерений и на свои размеры, и если чёт не так, например если место осталось свободное или вьюхи не влазят, он снова вызывает у них у всех measure.

Правда в доках написано, что повторный measure гарантирует что родитель получит корректные результаты от вьюх(чтобы в себе их норм уместить), но не написано за счёт чего.

Есть у меня ширина родителя: 600.

Внутри две вьюхи, обе хотят быть по 400 шириной, конкретно по 400. Обе с MeasureSpec EXACTLY получается.

Родитель говорит: я могу быть 600 ток, сорян.

Вьюхи перемериваются, но они ж снова по 400 намеряют. И шо.

Видимо родитель меняет MeasureSpec детей в этом случае. Но это не точно, я хз.
источник

А

Александр in Android Developers
Я чёт походу дичь сказал, изменение MeasureSpec у детей не поменяет ж ничего.
источник

QH

Quantum Harmonizer in Android Developers
Александр
Ну да, для меня это значит что я всё ок понял.

Вьюхи себе понамерили там чот, пришёл родитель, посмотрел на результаты измерений и на свои размеры, и если чёт не так, например если место осталось свободное или вьюхи не влазят, он снова вызывает у них у всех measure.

Правда в доках написано, что повторный measure гарантирует что родитель получит корректные результаты от вьюх(чтобы в себе их норм уместить), но не написано за счёт чего.

Есть у меня ширина родителя: 600.

Внутри две вьюхи, обе хотят быть по 400 шириной, конкретно по 400. Обе с MeasureSpec EXACTLY получается.

Родитель говорит: я могу быть 600 ток, сорян.

Вьюхи перемериваются, но они ж снова по 400 намеряют. И шо.

Видимо родитель меняет MeasureSpec детей в этом случае. Но это не точно, я хз.
MeasureSpec передаёт родитель. Это его проблема, что делать, если он не может дать столько, сколько написано в лейаутПарамс детей.
источник

А

Александр in Android Developers
Quantum Harmonizer
MeasureSpec передаёт родитель. Это его проблема, что делать, если он не может дать столько, сколько написано в лейаутПарамс детей.
Да, я походу понял.
источник

А

Александр in Android Developers
Я просто не сразу вьехал, что MeasureSpec - это информация о родителе для детей, которую родитель пушит вниз, чтобы дети её получили и приняли к сведению.
Sps.
источник

SS

Steel Sword in Android Developers
Arturx
в dimen запиши
О, как раз. Спасибо!
источник

A

Arturx in Android Developers
да
источник

A

Arturx in Android Developers
а лучше пиши на питоне
источник

A

Arturx in Android Developers
vscode
источник

QH

Quantum Harmonizer in Android Developers
Отнюдь
источник

A

Arturx in Android Developers
да он хочет вирусы писать
источник

QH

Quantum Harmonizer in Android Developers
Arturx
а лучше пиши на питоне
Эээ, под андроид?
источник

A

Arturx in Android Developers
потом изза таких людей норм пацанов банят в маркете заодно
источник

A

Arturx in Android Developers
так что пусть пишет на питоне
источник

A

Arturx in Android Developers
почему это
источник