Выравнивание виджета в RelativeLayout с виджетом во вложенном LinearLayout - PullRequest
0 голосов
/ 28 июля 2011

Так что я уже некоторое время искал и не могу найти ответ на свой вопрос

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

В основном у меня есть RelativeLayout в основе моего XML-макета, и в этом RelativeLayout у меня есть несколько вложенных LinearLayouts, что я хочу сделать, это выровнять виджет вRelativeLayout для TextView, вложенного в LinearLayout, так что-то вроде ниже (ненужная разметка XML была удалена, чтобы вы могли видеть, что я пытаюсь сделать проще)


&ltRelativeLayout&gt
    &ltLinearLayout&gt        
        &ltTextView 
          android:id="@+id/TextView1"/&gt
        &ltTextView 
          android:id="@+id/TextView2"/&gt
    &lt/LinearLayout&gt
    &ltTextView
       android:layout_alignLeft="@id/TextView2" /&gt
&lt/RelativeLayout&gt

На данный момент я просто далдо попытки сделать это и удалить линейные макеты из моего XML и использовать только RelativeLayout.

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

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Я не уверен, что в этом отсутствует точка (отсутствие контекста, но это не имеет значения, если мне удастся помочь), но похоже, что вы должны иметь возможность заменить TextView2 горизонтальным LinearLayout, содержащим оба TextView2 и внешний TextView. Но, да, полное использование RelativeLayout сделает похожую вещь с большим контролем (мне просто нравятся вложенные LinearLayouts, и лично я, вероятно, заменил бы ими весь RelativeLayout, в зависимости от того, для чего он).

1 голос
/ 28 июля 2011

Элементы в RelativeLayout будут выровнены только с другими элементами в том же макете на том же уровне (братья и сестры).

Однако вы можете достичь чего-то подобного с небольшой работой.Вы можете поставить идентификатор на LinearLayout.Затем можно выровнять внешний TextView с помощью LinearLayout и использовать атрибуты padding и margin (как для TextView2, так и для внешнего TextView), чтобы он действительно выровнялся во время отображения.

...