увеличить ширину элемента? Чтобы на чёрном фоне был зелёный цвет. Я меняла ширину в onCreateViewHolder и в onBindViewHolder, но, похоже, что-то где-то упустила
Java Android?
kotlin android
Я могу помочь, если вы расскажете мне более подробно, что вы хотите сделать
Получить точное время которое в любом месте совпадет почти идеально
Если забанили, то вот: public long getTime () Returns the Unix epoch time of this location fix, in milliseconds since the start of the Unix epoch (00:00:00 January 1, 1970 UTC). There is no guarantee that different locations have times set from the same clock. Locations derived from the LocationManager#GPS_PROVIDER are guaranteed to have their time originate from the clock in use by the satellite constellation that provided the fix. Locations derived from other providers may use any clock to set their time, though it is most common to use the device's Unix epoch time system clock (which may be incorrect). Note that the device's Unix epoch time system clock is not monotonic; it can jump forwards or backwards unpredictably and may be changed at any time by the user, so this time should not be used to order or compare locations. Prefer getElapsedRealtimeNanos() for that purpose, as the elapsed realtime clock is guaranteed to be monotonic. On the other hand, this method may be useful for presenting a human-readable time to the user, or as a heuristic for comparing location fixes across reboot or across devices. All locations generated by the LocationManager are guaranteed to have this time set, however remember that the device's system clock may have changed since the location was generated.
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Да ептить тебя за голову... Получил лат лон --> получил текущее время устройства --> Профит
хочу выставить ширину элементов, которые не на всю ширину экрана. Пыталась сделать это в процентном соотношении 40/60. Узкие элементы(желтый фон) получается сократить в ширине (но если они располагаются справа на экране, то уже нет ), то широкие элементы уже не выходит. Нагуглила эту статью на стаковерфлоу, применила решение, но оно не сработало
Все строки одинаковой высоты?
да, но я думаю, если получится изменить ширину, то потом не будет проблем с высотой уже
Если у вас всегда 3 элемента на строку, то возьмите для строки обычный ConstraintLayout из 3х элементов, и ставьте им % ширины в onBind как хотите. И вместо Staggered используйте Linear. Зачем здесь Staggered?
Желтый, зеленый, черный - это одна строка в списке?
нет, это три разных элемента
Да хоть 100500 разных элементов. Они всегда расположены в 1 ряд одной и той же высоты?
черный - это фрагмент
Я предполагаю, что вы хотите, чтобы все элементы имели одинаковую ширину. android:layout_weight="1"
Такой мелкий? Но зачем?
как раз наоборот, я хочу разную ширину
Понял, подожди
это фон фрагмента. я желтый элемент сделала уже, а зеленый шире. По факту получилось так, что желтый уже стал, а зеленый нет
- Это список - Высота строк списка одинаковая - В разных строках у элементов внутри строки может быть разная ширина Так?
Вертикальный RecyclerView + LinearLayoutManager + в адаптере getViewType для холдеров 2 типов + ширину выставлять в холдере в onBindViewHodler
не могу понять почему LinearLayoutManager? И зачем getViewType, если ширину выставлять в холдере onBindViewHodler? getViewType при этом сценарии же тогда не используется
Зачем Staggered, если в список состоит из прямоугольников от левого края экрана до правого?
Но ведь я тогда не смогу расположить жёлтые и красные элементы так, как нарисовано тут https://t.me/android_ru/1426423, они будут идти друг под другом
А если представить, что оранжевый и зеленый находятся внутри общего прямоугольного контейнера? :)
А как я потом буду переходить внутрь элемента?
Что значит переходить внутрь?
Навигация с одного экрана на другой
Клик по айтему что-ли?
Ну так прокинь внутрь адаптера интерфейс
Ну нажала куда-нибудь и обработала нажатие.
И потом уже ловишь клик по айтему
Если все эти полоски некоикабельны, лучше просто взять и нарисовать их на канвасе. Либо как дровабл, либо как вьюшка, если еще клики надо обрабатывать. Это будет работать гораздо быстрее чем добавление кучи вьюшек
Например, наполнение будут иконки - сделать 2 батон имадж в одном элементе и по его клику передавать колбэк, типа правая иконка была нажата или левая?
Они должны быть кликабельными
setOnCliclListener куда надо
Да и в дравбл не рисовать же весь список, который в будущем планирует быть увеличен
Ну если нужно отличать правый или левый, тогда интерфейс с двумя методами : левый и правый
А как эта штука в принципе работать должна?
Обычная задача. В адаптер передаются листенеры. Эти листенеры вызываются при кликах по списку. В листенерах делаешь что хочешь.
Подскажите, где можно просмотре примеры такой реализации или что гуглить?
adnroid recyclerview adapter click listener
Это я делала, но необычной для меня стала реализация элементов: один на всю ширину, второй и третий с разной шириной, а затем у четвёртого и пятого местами поменять ширину
Но только ты уже в адаптере точно должна понимать какой левый и какой правый)) а для этого нужно понять какой у тебя будет layout Manager...
Я по позиции элемента это сделала
Нууу такой... Делай через linear layout. И тут уже выбор делай как я с разными viewType или как предлагает @inthecornersc с одним, но прятать лишнее
А что подразумевается под лишним? Я правильно поняла, что в вашей реализации получится только сделать вместо двух элементов один и с кнопками? Да и как наполнять такой элемент? Во фрагменте перебирать список по позиции и если совпадает, то 2 элемента сразу в адаптер?
Хотя последнее про фрагмент, это я уже что-то фигню пишу
Ну это делает адаптер. Допустим тебе приходит тупо список. И тебе каждый n нужно делать 2 вряд. А в адаптере ты уже все знаешь. И зависимости ситуации ты рисуешь тот или иной viewHolder
А у каждого viewHolder своя xml разметка. Единственная "сложность" в каждой разметке все выставить как тебе надобно
И + в этой реализации можно в один RV пихать любые элементы с любой сложностью разметки
В какой именно этой?) вы предложили 2
https://t.me/android_ru/1426484
Обсуждают сегодня