Макеты друг над другом - PullRequest
       3

Макеты друг над другом

1 голос
/ 21 сентября 2010

Это вопрос разработки для Android.
Если я сначала установлю представление содержимого для своего макета xml, используя setContentView(R.layout.main);, а затем добавлю другое представление содержимого, используя addContentView(layout, params), представления содержимого перекрывают друг друга. Я хочу, чтобы второе представление контента располагалось непосредственно под первым. Возможно ли это или мне нужно каким-то образом комбинировать xml и программно созданные макеты? Обе схемы являются линейными.

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

Ответы [ 3 ]

5 голосов
/ 21 сентября 2010

Поместите оба макета в LinearLayout с вертикальной ориентацией. вот и все.

Редактировать:

Я имею в виду, что вам нужно создать 3 xml-файла макета.

  1. main.xml
  2. layout1.xml -> ваш первый макет
  3. layout2.xml -> ваш второй макет

Ваш основной файл макета должен выглядеть следующим образом:

<LinearLayout android:orientation="vertical">
<include android:id="+id/lay1" android:layout="@layout/layout1"/>
<include android:id="+id/lay2" android:layout="@layout/layout2"/>
</LinearLayout>

Теперь ваш основной макет вашего setContentView(R.layout.main)

1 голос
/ 14 декабря 2015

Спасибо, ребята.Я ценю обратную связь.

Не удалось установить вертикальную ориентацию на родительском макете (CoordinatorLayout).

Однако работало то, что оба элемента были помещены в LinearLayout с вертикальной ориентацией.

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

Я не уверен, что это был правильный способ решить эту проблему, но это сработало.Я буду двигаться дальше.Еще раз спасибо.

0 голосов
/ 18 октября 2016

Чтобы расположить макет друг над другом (один под другим, под другим), вот что я сделал:

<?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent">


<RelativeLayout
    android:id="@+id/topLayout"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_alignParentTop="true"
    android:background="@color/colorAccent">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="126dp"
        android:text="Existing Client"
        android:textColor="@android:color/white"
        android:textSize="20sp"
        android:textStyle="bold" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="@color/colorPrimary">

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="138dp"
        android:text="New Client"
        android:textColor="@android:color/white"
        android:textSize="20sp"
        android:textStyle="bold" />

</RelativeLayout>

И результат:

enter image description here

Я намеревался использовать макеты в качестве кнопок, которые заполняют определенную ширину экрана.

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