Nano Hash - криптовалюты, майнинг, программирование

Центрировать вид на другой в RelativeLayout

У меня есть два представления, которые я хочу центрировать по вертикали в RelativeLayout.

Есть ли способ сделать это без использованияgravity/layout_gravity ?введите здесь описание изображения

Моя проблема, стоящая за этим вопросом:

Мне нужно сделать макет с несколькими квадратами и под каждым TextView. Основная проблема заключается в том, что TextViews должны перекрываться. Одновременно будет виден только один TextView. Каждый TextView имеет разную длину.

Я начал с RelativeLayout, но столкнулся с предыдущей проблемой. И я не могу сгруппировать представления 2 на 2, потому что мне нужно установить layout_toRightOf предыдущего квадрата.

введите здесь описание изображения

Текущий макет:

На данный момент я установил магическое число в layout_marginLeft для каждого квадрата (до границы родительского представления), но это совсем не чисто.

введите здесь описание изображения

Спасибо


  • Не могли бы вы показать свой макет прямо сейчас? 29.07.2014
  • Добавил картинку в вопрос. На данный момент я установил магическое число в layout_marginLeft для каждого квадрата (до границы родительского представления), но это совсем не чисто. 29.07.2014

Ответы:


1

Используйте android:layout_centerInParent="true", чтобы центрировать что-то в RelativeLayout
Вы можете использовать android:layout_below="@id/your_first_view", чтобы поместить второй View ниже первого!
Если вы хотите делать более сложные вещи, вы можете разделить разные виды и сохранить их в новом LinearLayout, который вы установили. в горизонтальное или вертикальное в зависимости от ваших потребностей.
Еще один трюк может заключаться в создании пустых представлений с небольшой высотой или шириной, что может помочь вам расположить объекты вокруг них!
Это в сочетании с toRightOf toLeftOf будет делать то, что вы хотеть

29.07.2014
  • У меня есть несколько квадратов, поэтому я не могу центрировать их все посередине глобального RelativeLayout. 29.07.2014
  • Я попробую пустые представления. 29.07.2014
  • Хм, это не очень убедительно. Итак, я перечислил 4 пустых вида по горизонтали и поместил свои объекты (2 вида) под каждый из них. Однако я столкнулся с той же проблемой: я не могу центрировать свои объекты под пустыми представлениями. 29.07.2014
  • Попробуйте сделать что-то вроде этого: YourElement1 | Пустой вид | ВашЭлемент2 | ....., и поместите все это в LinearLayout с атрибутомgravity=center ! Установка ширины EmptyView на 1dp 29.07.2014
  • Давайте продолжим это обсуждение в чате. 29.07.2014

  • 2

    Наконец, я сохранил layout_marginLeft, но поместил значения в свой res/values/dimens.xml, это чище, и я могу иметь dimens.xml для каждого размера экрана. Хитрость заключается в том, чтобы преднамеренно установить ширину textViews большой, чтобы она не зависела от длины строк.

    31.07.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..