Я использовал немного взлома, чтобы растянуть представление внутри родительского RelativeLayout
, чтобы он начинался в верхнем левом углу и заканчивался нижним центром. Хотя RelativeLayout
позволяет вам позиционировать что-то в самом центре, оно, однако, не позволяет вам растянуть что-то в этой же точке.
Мое решение было простым, позиционировало что-то в этом центре и давало ему размеры 1px, поэтому его фактический центр родительского RelativeLayout
. Не поймите меня неправильно, это работает, и у меня не было никаких проблем с ним, но если есть более эффективная практика, о которой я хотел бы узнать об этом.
Что касается графического представления того, что я говорю, позвольте мне добавить несколько иллюстраций.
Это первое изображение имеет текстовое TextView
, расположенное в центре RelativeLayout
, и я дал ему ширину 0dp. Это позволяет мне, как вы можете видеть на следующем изображении, разместить что-нибудь относительно этого центра. Моя точка зрения заключается в том, что мне кажется странным, что вы не можете этого сделать без необходимости добавления дополнительного представления в центр, поскольку я могу видеть такие свойства, как Layout to left of
или Layout to right of
, но no Layout to center of
.
Таким образом, scennario может быть немного больше в строках, "он не сломан еще, но я боюсь, что он появится в любой момент". Тогда, с другой стороны, если это правильный способ сделать это, и я помогаю кому-то, изучая новую вещь, это также работает для меня.
Почему я задаю вопросы, на которые нельзя ответить!? Я так настраиваю здесь награду.
Наиболее разумная вещь, которая пока еще (по моему мнению), заключается в том, что я заменяю LinearLayout
на LinearLayout
на View
, который, как я полагаю, занимает немного меньше памяти, даже если он немного меньше. Поэтому я благодарю @yorkw за это. Я удивлен, что никто этого не спрашивал раньше.
Просто пояснить, поскольку, похоже, есть недоразумение относительно того, что я на самом деле после. Я не хочу, чтобы что-то занимало половину родительской ширины/высоты. Я просил использовать его в качестве ориентира (то, что я сказал в названии), чтобы я мог делать такие вещи, как позиционировать изображение слева от центра, не добавляя линейный макет, который занимает половину, а сила тяжести остается или что-то еще.
Update
Поскольку API 14 имеет Space
, который является легким подклассом View
, который может быть более подходящим для такого рода взлома.