pavelkostyukov
можно этого избежать? если например будет планшет и мини
pavelkostyukov
то размеры же будут отличаться
Dmytro
то размеры же будут отличаться
задай фиксирвоанную высоту или ширину для айтема тогда
pavelkostyukov
у меня грид
pavelkostyukov
если я задам фикс ширину у меня будет сомотреться
Dmytro
если я задам фикс ширину у меня будет сомотреться
ты можешь описать, чего ты хочешь добиться ? поподробнее
pavelkostyukov
пожалуйста - список - в лэйаут там гридом выступает то есть колонки подроблены на два столбца
pavelkostyukov
размер фото разный - надо что бы колонки были ровны и не сбивались
Dmytro
размер фото разный - надо что бы колонки были ровны и не сбивались
если у тебя 2 стоблца, возьми ширину экрана, подели на 2, вычти паддинги если нужно, и задай это айтему, если нужно квадратные айтема, то и высоту тоже, если нет, оставляй врап контент
pavelkostyukov
это самый быстрый и легкий способ решить проблему?)
Max
пожалуйста - список - в лэйаут там гридом выступает то есть колонки подроблены на два столбца
Если не ошибаюсь у меня есть то что нужно сейчас пк запущу скину пример)
pavelkostyukov
логично , но суть почему я написал - решить максимально просто
Сергей
...ну, если надо сделать грид из N колонок на любом размере экрана - то надо взять размер ресайклера, поделить на N, и впарить полученные пиксели как layoutParams нужному вью/группе. Через dp это не решается
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
мужики и девчонки, кто сталкивался с такой ошибкой? как вы её решили?
pavelkostyukov
match_parent
попробую пасиб
Сергей
Хотя да, часто можно без этоо обойтись поколдовав над match/wrap
Everyday
Добрый день. хочу данный файл открыть с помощью другого приложения. есть загвоздка в orResultActivity после выбора файла прилетает такая uri: content://com.android.providers.downloads.documents/document/msf%3A25 разве uri не должно оканчиваться на название файла и расширение?
Dmytro
Это обязанность layout manager, не надо лишать его рабочего места
вот вчитался в твои слова, по сути ты прав, только вот мне кажется что-то там все-таки не так, почему пришлось городить способ описанный выше...
Max
жду
Надо что-то на подобии этого? Когда внизу ресайкл вью и оно делит все точно на 2 колонки вне зависимости от размеров айтемов внутри?
Dmytro
hatebin.com
pavelkostyukov
SetMAxFixedSize интересно
Mike
SetMAxFixedSize интересно
HasFixedSize. Это другое
Everyday
Нет, не должно)
а я могу как то получить имя файла из uri? как я понимаю,чтобы свободно пользоваться этим файлом из FileProvider , мне его лучше скопировать в директорию своего приложения, да?
Max
SetMAxFixedSize интересно
Там как видишь любое колво колонок можно выставить
pavelkostyukov
Там как видишь любое колво колонок можно выставить
а попробуй рандомные фотки в item закинуть
pavelkostyukov
вот как должно быть
pavelkostyukov
вот прилетела большая фотка
Mike
вот прилетела большая фотка
Дык wrap content именно так и работает
pavelkostyukov
Дык wrap content именно так и работает
по высоте который? пробовал сек
Mike
по высоте который? пробовал сек
width который, это ширина
pavelkostyukov
теперь везде wrap_content
Everyday
Кто сказал, что там вообще есть какой-то физический файл?
contentResolver.openInputStream(fileUri) я же могу этим кодом достучаться до файла? и даже выкачать его ?
pavelkostyukov
выходит вариант с вычисление размера экрана единственный?
Not Sure
+
дайте плез что нибудь посмотреть или почитать?
Mike
выходит вариант с вычисление размера экрана единственный?
Ты match parent попробовал? У меня так и не получилось донести, что wrap content делает противоположное.
pavelkostyukov
какая задача?
сделать RecyclerVIew что как тут , только что бы вместо текста были картинки разного размера
Mike
Ещё, если припечёт, можно контейнер зафигачить, который будет обмеряться, игнорируя ширину контента
pavelkostyukov
По ширине.
вообще да , так везде и должно работать , но получается что высоту мне надо делать фиксированную?
Max
матч перент по высоте же ?
Так смотри я туда гружу так то линер лейаут
Max
Просто в себя в коде свой загрузи
pavelkostyukov
=) хорошо
Max
И да, высоту придется видимо делать фиксированой
Сергей
...у меня была задача сделать ячейки грида квадратными вне зависимости от того что в них. DP/wrap не катили - пришлось пиксели задавать из кода
Nikolai
есть еще app:layout_constraintDimensionRatio
Сергей
Ну констрайн не у всех(
Сергей
Но пиксели через setLayoutParam всегда работают
Dmytro
Но пиксели через setLayoutParam всегда работают
а ты пиксели задаешь в бинде или при создании холдера?
Max
а там через CardView не выйдет?
У меня то кнопка и есть кард вью...
Max
Там по факту только высоту фиксированую выставь да и все
Mike
вообще да , так везде и должно работать , но получается что высоту мне надо делать фиксированную?
На самом деле обеим соседним ячейкам в onLayout дадут одинаковую высоту
Сергей
Shurik
всем привет. Кто-то знает как в Room задать размер String в таблице? что-то наподобие @DatabaseField( width = 20) в Ormlite
Max
Если я не ошибаюсь это можно сделать только выставлением в айтеме по дефолту уже какой-то своей высоты
pavelkostyukov
На самом деле обеим соседним ячейкам в onLayout дадут одинаковую высоту
да это самый быстрый вариант - выходит что фикс высота - выход - единственный минус - надо например для планшета - задавать высоту побольше что бы было видно
Сергей
Там единственно что не самоочевидно было - что set...Params надо вызывать у вью, но их тип = типу егоконтейнера
Сергей
В setLayoutParams всегда передается подкласс LayoutParams класса-вью родителя
Да, но это не самоочевидно сразу или из доков. Впрочем дебаг поможет
Anonymous
Да, но это не самоочевидно сразу или из доков. Впрочем дебаг поможет
Ну не знаю. А как ты по-другому поставишь например weight? Оно только у LinearLayout.LayoutParams
Anonymous
Linear
Ну а как сам андроид сдк то соберет представление из хмл? не давать программисту юзать фрейм
Anonymous
XMLPullParser как раз по этой причине и копает начиная с самой вложенной вьюшки.